¿Cómo convertir Word (doc) a PDF desde la línea de comandos de Windows?

20

¿Alguien sabe cómo convertir archivos de Word (.doc) a PDF usando la línea de comandos en Windows?

Estábamos usando el servicio de OpenOffice, pero en documentos que tienen muchas tablas e imágenes, termina arruinando mucho formato.

Xosler
fuente
odio preguntar, pero ¿por qué cli específicamente? scripting?
Journeyman Geek
qué es exactamente lo que quieres saber
Xosler
Bueno, puedo invocar la impresión de la CLI, pero al parecer abrirá ventanas, aparentemente
Journeyman Geek

Respuestas:

7

"winword.exe" "C: \ My Files \ doc1.doc" / mFilePrintDefault Siempre que tenga una impresora PDF silenciosa como predeterminada.

Pruebe también la descendencia libreOffice de OpenOffice.org. Se basa en go-ooo que no tuvo problemas con las métricas OLE en la oficina.

ZaB
fuente
Puedo hacer algo como: winword.exe 'c: / file.doc' '/ printer' 'c: / arquivo_de_saida.pdf'?
Xosler
Actualmente utilizo el servicio openoffice / LibreOffice, pero la conversión estropea el formato original del archivo, y si no podemos perder ningún formato. Parte de los archivos son. Docx con muchas tablas, encabezados y pies de página, debemos mantener el formato original
Xosler
Me pregunto si los "archivos docx" todavía tienen atributos de compatibilidad de Word 6.0. El analizador Libre / OpenOffice no tiene medios para tratar con ellos porque "estándar" de microsoft no describe métricas exactas.
ZaB
En W7 obtengo: 'winword.exe' no se reconoce como un comando interno o externo. Verá en qué directorio está.
KAE
3

Encontré este sitio y, al probar OfficeToPDF, aparentemente funciona bien. Ejemplo:

OfficeToPDF "c​​:\help.doc" "c:\output\help.pdf"
Xosler
fuente
2
Bajo el capó, utiliza MS Office para convertir los archivos (ver parte del requisito). No pague por esto y use una solución de código abierto: OfficeToPDF (hace exactamente lo mismo)
tigrou
Maravilloso! Los binarios (.exe) están ahí: github.com/cognidox/OfficeToPDF/releases
Basj
2

Usamos el BCL easyPDF SDK para ese propósito en nuestra aplicación. Proporciona mucho más control sobre cómo se ve la conversión (por ejemplo, cómo manejar las anotaciones de Track Changes).

Kit Grose
fuente
¿no significaría eso tener que escribir la aplicación desde cero?
Journeyman Geek
En teoría, aunque el OP mencionó que esto se usa como parte de una aplicación Java personalizada. Para nuestro uso, era conveniente que la conversión se realizara en la línea de comandos, por lo que envolví más o menos el código de muestra proporcionado en el sitio web en un pequeño ejecutable.
Kit Grose
2

Sé que la pregunta es antigua, pero la mejor solución para convertir cualquier tipo de archivo a PDF es usar PDFCreator. Es gratis y tiene un archivo EXE de línea de comandos que puede usar para convertir cualquier archivo a PDF. La aplicación para leer el tipo de archivo debe instalarse en la PC, por supuesto (necesita que Office esté instalado para convertir un documento de Office y Autocad para convertir un archivo CAD). PDFCreator puede ejecutarse en segundo plano y generar archivos de salida en una carpeta específica sin necesidad de interacción del usuario. Lamentablemente, no puede especificar en la línea de comando dónde generar el PDF. PDFCreator siempre sale a la misma carpeta especificada en la configuración. Pero sabiendo esto, puede recoger el archivo convertido en esa carpeta y mover / cambiar el nombre a donde quiera.

nivs1978
fuente
En mis intentos de usarlo, pude configurar el directorio de salida, pero no se ejecuta en silencio. Abre y cierra un banner de MS Word, pero se DETIENE en la GUI de PDFCreator y luego debe operarlo manualmente para continuar. Sin embargo, se puede comprar una licencia para su servidor PDFCreator por poco menos de $ 1K.
Thom Ives
1

Descargue el PDFTOOFFICE gratis de 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
Yordan Georgiev
fuente
Para su información, este proyecto utiliza Word Interop. Por lo tanto, se requiere Word para ser instalado.
jltrem