Как конвертировать Word (doc) в PDF из командной строки Windows?


20

Кто-нибудь знает, как преобразовать текстовые файлы (.doc) в PDF с помощью командной строки в Windows?

Мы использовали сервис OpenOffice, но в документах, которые содержат много таблиц и изображений, это приводит к разрушению большого количества форматирования.


ненавижу спрашивать, но почему именно кли? сценарии?
подмастерье Компьютерщик

что именно вы хотите знать
Xosler

Ну, я могу вызвать печать из CLI, но он откроет окна для этого, по-видимому
Путешественник Geek

Ответы:


7

"winword.exe" "C: \ My Files \ doc1.doc" / mFilePrintDefault При условии, что у вас тихий PDF-принтер по умолчанию.

Также попробуйте потомство libreOffice или OpenOffice.org. Он основан на go-ooo, у которого не было проблем с OLE-метрикой в ​​офисе.


Я могу сделать что-то вроде: winword.exe 'c: / file.doc' '/ printer' 'c: / arquivo_de_saida.pdf'?
Xosler

В настоящее время используется сервис openoffice / LibreOffice, но преобразование портит исходное форматирование файла, и если мы не можем потерять любое форматирование. Часть файлов есть. Docx со множеством таблиц,
верхних и нижних

Мне просто интересно, если у "docx files" все еще есть атрибуты совместимости Word 6.0? У парсера Libre / OpenOffice нет средств для их решения, потому что «стандарт» от Microsoft не описывает точные метрики.
ЗаБ

В W7 я получаю: «winword.exe» не распознается как внутренняя или внешняя команда. Посмотрим, в каком каталоге он находится.
KAE

5
  1. если у вас установлен Microsoft Word, вы можете использовать DocTo:

    https://github.com/tobya/DocTo

    Пакетная операция поддерживается, все файлы в каталоге могут быть преобразованы из документа в PDF:

    docto -f "C:\Dir with Spaces\FilesToConvert\" -O "C:\DirToOutput" -T wdFormatPDF  -OX .pdf
    
  2. другой вариант - использовать следующий скрипт powershell: https://gallery.technet.microsoft.com/office/Script-to-convert-Word-f702844d


3

Я нашел этот сайт , и, протестировав OfficeToPDF, он, видимо, работает хорошо. Пример:

OfficeToPDF "c​​:\help.doc" "c:\output\help.pdf"

2
Под капотом он использует MS Office для конвертации файлов (см. Раздел требований). Не платите за это и используйте открытое решение: OfficeToPDF (оно делает то же самое)
tigrou

Wondeful!
Двоичные

2

Для этого в нашем приложении мы используем пакет BCL easyPDF SDK . Это обеспечивает гораздо больший контроль над тем, как выглядит конверсия (например, как обрабатывать аннотации Track Changes).


разве это не означает, что на самом деле нужно писать приложение с нуля?
подмастерье Компьютерщик

Теоретически, хотя OP упоминал, что он используется как часть пользовательского приложения Java. Для нашего использования было удобно, чтобы преобразование происходило в командной строке, поэтому я более или менее обернул пример кода, представленного на сайте, в крошечный исполняемый файл.
Кит Гроуз

2

Я знаю, что вопрос старый, но лучшее решение для преобразования любого вида файла в PDF - это использование PDFCreator. Это бесплатно, и имеет EXE-файл командной строки, который можно использовать для преобразования любого файла в PDF. Конечно, приложение для чтения файлов этого типа должно быть установлено на ПК (для конвертации офисного документа вам необходимо установить офис и Autocad для конвертации файла CAD). PDFCreator может работать в фоновом режиме и выводить файлы в указанную папку без участия пользователя. К сожалению, вы не можете указать в командной строке, где вывести PDF. PDFCreator всегда выводит в одну и ту же папку, указанную в настройках. Но, зная это, вы можете взять преобразованный файл в этой папке и переместить / переименовать в любое место.


В моих попытках использовать его я смог установить выходной каталог, но он не работает тихо. Он открывает и закрывает баннер MS Word, но останавливается в графическом интерфейсе PDFCreator, и вы должны затем выполнить это вручную, чтобы продолжить. Однако можно купить лицензию на их сервер PDFCreator всего за $ 1K.
Том Айвз

1

Загрузите бесплатный PDFTOOFFICE ОТ http://officetopdf.codeplex.com/releases/view/118190

  :: PURPOSE: convert word_file to pdf_file 
  :: DEFINE VARS 
  set WORD_FILE="C:\var\anc\issues\BDCTBA-12\docs\BDC-ISG\BDC-ISG.docx"
  set PDF_FILE="C:\var\anc\issues\BDCTBA-12\docs\BDC-ISG\BDC-ISG.pdf"

  :: REMOVE FIRST THE FILE 
  DEL /Q "%PDF_FILE%

  :: CONVERT THE WORD FILE TO A PDF FILE
  :: REMEMBER TO CTRL + S , while writing ... 
  :: NOTE IF THE FILE IS OPENED IN WORD YOU WOULD HAVE TO USE READ ONLY COPY
  :: ACTION !!!
  "OFFICETOPDF.EXE" "%WORD_FILE%" "%PDF_FILE%"

  :: REQUIREMENTS
  :: DOWNLOAD OFFICETOPDF FROM [http://officetopdf.codeplex.com/releases/view/118190][2]

  :: OTHER GOODIES - call from cygwin 
  :: PATH=/cygdrive/c/WINDOWS/system32:$PATH
  :: cmd /c convert-BDC-ISG.docx-to-BDC-ISG.cmd

Кстати, этот проект использует Word Interop. Таким образом, Word должен быть установлен.
Jltrem
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.