Мне нужен инструмент командной строки Linux, который может выполнять преобразование файлов различного формата (обычно .odt, .docx и .rtf) в PDF по сценарию. Как бы я это сделал?
3 ответа
На ум приходят два варианта: Unoconv и LibreOffice.
Не знаю много о Unoconv, но синтаксис для использования с LibreOffice
libreoffice --headless --convert-to pdf *.docx
libreoffice --headless --convert-to pdf *.odt
libreoffice --headless --convert-to pdf *.rtf
Вам также может понадобиться выяснить, какой из восьми (считайте их, 8) различных вариантов PDF необходим вашей организации или клиенту, и насколько хорошо каждый из представленных выше вариантов предоставляет PDF для удовлетворения этой потребности. Спасибо https://blog.marconet.com за сводку с пояснениями ниже:
PDF - этого общего стандарта PDF достаточно для использования в офисе, совместного использования и просмотра в Интернете, а также для документов стандартного качества.
PDF/A - Этот стандарт был разработан для долговременного хранения файлов, обычно используемый архивариусами, менеджерами записей и менеджерами соответствия. Он имеет ограниченный набор функций, без JavaScript, аудио и видео контента и шифрования, потому что они могут запретить пользователям открывать и просматривать точно в будущем.
PDF/E - этот стандарт чаще всего будут использовать архитекторы, инженеры, специалисты по строительству и производственные группы. Согласно Planet PDF: «Этот стандарт был предназначен для решения ключевых проблем в области широкоформатных чертежей, мультимедиа, полей форм и управления правами - и это лишь некоторые из них - которые могут помешать инженерному сообществу использовать PDF в своих рабочих процессах».
PDF/X - этот стандарт лучше всего подходит для профессионалов печати, дизайнеров и креативщиков. При использовании этого стандарта можно ожидать высокое качество документов профессионального уровня. Этот стандарт PDF обеспечит готовность документов к печати благодаря правильному внедрению шрифтов, изображений, цветовых профилей и многого другого.
PDF/UA - Этот стандарт повышает удобочитаемость для людей с ограниченными возможностями, ИТ-менеджеров в государственных или коммерческих предприятиях и менеджеров по соответствию. UA означает универсальный доступ; Этот стандарт будет работать с вспомогательными технологиями, которые помогают пользователям в чтении и навигации.
PDF/VT - профессионалы печати также будут использовать этот стандарт для документов. Этот стандарт основан на компонентах стандарта PDF/X, что позволяет поддерживать некоторые функции, такие как цветовые профили, слои и прозрачность. Самое большое дополнение - это возможность настраивать данные в этих файлах, такие как банковские выписки, бизнес-счета или персонализированные маркетинговые материалы.
ДВА ТИПА СТАНДАРТОВ PDF ОТ ДРУГИХ ОРГАНИЗАЦИЙ Дополнительные организации приняли стандарты для своих конкретных потребностей в документах.
ПАДЫ - Стандартизирует безопасные безбумажные операции, которые соответствуют европейскому законодательству. Этот стандарт был установлен для цифровых подписей в формате PDF в ЕС.
PDF Healthcare - Согласно Acrobat, этот стандарт «содержит рекомендации и рекомендации по внедрению для облегчения сбора, обмена, сохранения и защиты медицинской информации. Следование этим рекомендациям обеспечивает более безопасный электронный контейнер, который может хранить и передавать медицинскую информацию, включая личные документы, данные XML, изображения и данные DICOM, клинические заметки, лабораторные отчеты, электронные формы, сканированные изображения, фотографии, цифровые рентгеновские снимки и ЭКГ ».
Pandoc - это хорошее решение, которое поддерживает преобразование многих форматов файлов. Стиль не может быть сохранен однако.
Если вам нужно конвертировать файлы из одного формата разметки в другой, pandoc - ваш швейцарский армейский нож. - http://pandoc.org/index.html
Установить
sudo apt install pandoc
Пример Bash
Конвертировать все файлы в папке в PDF:
for file in ./folder
do
pandoc "$file" -o "$file".pdf
done
Это сценарий VBA, поэтому, надеюсь, у вас есть некоторые навыки написания сценариев, но он в основном использует объект Word COM для доступа к методу saveas, указав тип файла PDF, и Word сделает всю работу за вас.