Como converter Word (doc) para PDF na linha de comando do Windows?

20

Alguém sabe como converter arquivos de texto (.doc) para PDF usando a linha de comando no Windows?

Estávamos usando o serviço do OpenOffice, mas em documentos que possuem muitas tabelas e imagens, acaba arruinando muita formatação.

Xosler
fonte
odeio perguntar, mas por que cli especificamente? script?
Journeyman Geek
o que exatamente você quer saber
Xosler
Bem, eu posso invocar a impressão do CLI, mas ele abrirá janelas para ele, aparentemente
Journeyman Geek

Respostas:

7

"winword.exe" "C: \ Meus Arquivos \ doc1.doc" / mFilePrintDefault Desde que você tenha uma impressora PDF silenciosa como padrão.

Tente também a descendência do libreOffice ou do OpenOffice.org. É baseado em go-ooo, que não teve problemas com as métricas do OLE no escritório.

ZaB
fonte
Eu posso fazer algo como: winword.exe 'c: / file.doc' '/ printer' 'c: / arquivo_de_saida.pdf'?
Xosler 23/02/12
Atualmente, usamos o serviço openoffice / LibreOffice, mas a conversão estraga a formatação original do arquivo e, se não podemos perder nenhuma formatação. Parte dos arquivos são. Docx com muitas tabelas, cabeçalhos e rodapés, devemos manter a formatação original
Xosler
Só estou me perguntando se "arquivos docx" ainda têm atributos de compatibilidade do Word 6.0? O analisador Libre / OpenOffice não possui meios de lidar com eles, porque "padrão" da microsoft não descreve métricas exatas.
ZaB 23/02/12
No W7, recebo: 'winword.exe' não é reconhecido como um comando interno ou externo. Vai ver o diretório é no.
KAE
3

Encontrei este site e, testando o OfficeToPDF, aparentemente está funcionando bem. Exemplo:

OfficeToPDF "c​​:\help.doc" "c:\output\help.pdf"
Xosler
fonte
2
Sob o capô, ele usa o MS Office para converter os arquivos (consulte a parte dos requisitos). Não pagar por isso e usar solução de código aberto: OfficeToPDF (ele faz exatamente o mesmo)
tigrou
Wondeful! Os binários (.exe) estão lá: github.com/cognidox/OfficeToPDF/releases
Basj
2

Usamos o SDK BCL easyPDF para esse fim em nosso aplicativo. Ele fornece muito mais controle sobre a aparência da conversão (por exemplo, como lidar com as anotações de Track Changes).

Kit Grose
fonte
isso não significaria realmente ter que escrever o aplicativo do zero?
Journeyman Geek
Em teoria, embora o OP tenha mencionado isso como parte de um aplicativo Java personalizado. Para nosso uso, era conveniente que a conversão acontecesse na linha de comando; portanto, envolvi mais ou menos o código de exemplo fornecido no site em um pequeno executável.
Kit Grose
2

Sei que a pergunta é antiga, mas a melhor solução para converter qualquer tipo de arquivo em PDF é usar o PDFCreator. É gratuito e possui um arquivo EXE de linha de comando que você pode usar para converter qualquer arquivo em PDF. É claro que o aplicativo para ler o tipo de arquivo deve ser instalado no PC (você precisa do Office instalado para converter um documento do Office e o Autocad para converter um arquivo CAD). O PDFCreator pode ser executado em segundo plano e gerar arquivos de saída para uma pasta especificada, sem a necessidade de interação do usuário. Infelizmente, você não pode especificar na linha de comando onde produzir o PDF. O PDFCreator sempre imprime na mesma pasta especificada nas configurações. Mas, sabendo disso, você pode pegar o arquivo convertido nessa pasta e mover / renomear para onde quiser.

nivs1978
fonte
Nas minhas tentativas de usá-lo, consegui definir o diretório de saída, mas ele não é executado silenciosamente. Ele abre e fecha um banner do MS Word, mas PARA na GUI do PDFCreator e você deve operá-lo manualmente para continuar. No entanto, pode-se comprar uma licença para o PDFCreator Server por pouco menos de US $ 1K.
Thom Ives
1

Faça o download gratuito do PDFTOOFFICE FROM 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
fonte
fyi, este projeto usa o Word Interop. Portanto, é necessário que o Word seja instalado.
jltrem