Pergunta

Eu tenho alguma documentação escrita em OpenOffice, e eu gostaria de incluir alguns deles como arquivos PDF nas entregas versão final. Eu gostaria de fazer isso com o script de construção automatizado.

Existe uma maneira de criar um arquivo PDF a partir de OpenOffice com um comando de linha de comando?

Foi útil?

Solução

arte de resolver também tem uma boa API para executar a conversão em Java. É um pouco lento, mas é o suficiente simples. Isto é como eu usá-lo:

        File inputFile = new File("C:\\oreyes\\hola.doc"); 
        File outputFile = new File("C:\\oreyes\\hola.pdf"); 
        OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
        try { 
            connection.connect(); 
        } catch(Exception e) {}

        DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
        converter.convert(inputFile, outputFile); 
        connection.disconnect(); 

Você pode criar um frasco com isso e processá-lo a partir da linha de comando.

Outras dicas

Em setembro de 2012, LibreOffice pode converter um documento em PDF a partir da linha de comando:

lowriter --headless --convert-to pdf yourfile.odt

Ele também tem suporte conversão em massa:

lowriter --headless --convert-to pdf yourfiles*.odt

irá converter todos os arquivos que correspondem ao padrão para o arquivo PDF correspondente.

Não deve haver janelas do LibreOffice abrir quando você executar este comando.

Há uma grande ferramenta chamada "unoconv", foi no meu repositório Ubuntu. Ele converte ODF , . ods , ... para PDF e eu acho que para outros formatos também.

Eu também poderia converter arquivos PowerPoint para PDF.

Embora esta pergunta é um pouco velho, aqui algo com a finalidade de documentar algumas armadilhas comuns com a solução LibreOffice:

  • Se lowriter não funciona para você, porque ele ignora os parâmetros de linha de comando e traz o gui apenas tentar chamar os libreoffice ou loffice binários:

    loffice --headless --convert-to pdf yourfile.odt

  • Se você receber esta mensagem

    Error: Please reverify input parameters...

    tente executá-lo como root (por exemplo, via sudo). Isso me ajudou no Ubuntu 12.04 LTS com LibreOffice 3 instalado e também pode ser uma razão pela qual esta conversão não está sendo executado em um servidor web sem configuração adequada ( LibreOffice --headless se recusa a converter a menos de raiz, não vai funcionar a partir de script PHP )

  • Também certifique-se que você não tem quaisquer outras instâncias do LibreOffice em execução ou ele só irá falhar silenciosamente e fazer nenhuma conversão em tudo.

anytopdf . Já não tentei me.

Citando ...

anytopdf é um script perl que converte OpenOffice.org, Microsoft Office (Word DOC, XLS Excel), RTF, HTML e outros formatos de arquivo legível o OpenOffice.org para o formato PDF. Ele irá instalar automaticamente o 'AnyToPDF' apoiar biblioteca macro OpenOffice.org Básico no usuário atual OpenOffice.org configuração se ele já não está presente.

Dedicado à paz, amor, compreensão e respeito por todos os seres.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top