Alguém sabe como converter um ODT
arquivo (LibreOffice) para PDF
?
libreoffice
pdf
openoffice.org
SoftTimur
fonte
fonte
Respostas:
Basta abrir o documento com o libre office e escolher Exportar como PDF ... :
Para uma solução de linha de comando, há um unconv que converte arquivos da linha de comando:
Nota: Apenas a partir do Ubuntu 11.10, o unoconv depende do Libre Office. As versões unoconv anteriores (do Ubuntu <= 11.04) dependem do Open Office (mas também serão executadas com o Libre Office).
fonte
unoconv
, é ótimo!unoconv: Cannot find a suitable office installation on your system.
, portanto, é inutilizável :(Você também pode usar a linha de comando
libreoffice
para seu propósito. Isso oferece a vantagem da conversão em lote. Mas arquivos únicos também são possíveis. Este exemplo converte todos os arquivos ODT no diretório atual em PDF:Obtenha mais informações sobre opções de linha de comando com:
fonte
--env:UserInstallation=file:///path/to/some/directory
.unoconv
. Por exemplo, usei a linha comunoconv -f pdf *.ppt
sucesso.Aqui estão mais alguns detalhes sobre o método "non-GUI".
Você pode usar esse método não apenas para converter arquivos ODT em PDF. Ele também funcionará para arquivos DOCX do MS Word (funcionará como o LibreOffice é capaz de lidar com a ODT específica) e, em geral, todos os tipos de arquivos que o LibreOffice pode abrir.
Eu não acho que exista um binário nomeado
libreoffice
como uma das outras respostas sugeridas. No entanto, existesoffice(.bin)
o binário que pode ser usado para iniciar o LibreOffice a partir da linha de comando. Geralmente está localizado em/usr/lib/libreoffice/program/
; e muitas vezes, um link simbólico/usr/bin/soffice
aponta para esse local.Então, na maioria dos casos, os parâmetros
--headless --convert-to pdf
não são suficientes. Precisa ser:Certifique-se de seguir exatamente essa capitalização!
Em seguida, o comando não funcionará se já houver uma instância da GUI do LibreOffice em funcionamento no sistema. É causada pelo bug # 37531, conhecido desde 2011 . Adicione este parâmetro adicional ao seu comando:
Isso criará um ambiente novo e separado que pode ser usado por uma segunda instância LO sem cabeçalho, sem interferir com uma possivelmente primeira instância da GUI LO em execução iniciada pelo mesmo usuário.
Além disso, verifique se o que
--outdir /pdf
você especificar existe e se possui permissão de gravação. Ou melhor, use um dir de saída diferente. Mesmo que seja apenas para uma primeira rodada de testes e depuração:Conseqüentemente:
Isso funciona para mim no Mac OS X Yosemite 10.10.5 com LibreOffice v5.1.2.2 (usando meu caminho específico para o binário
soffice
que será diferente no Ubuntu de qualquer maneira ...). Também funciona no Debian Jessie 8.0 (usando o path/usr/lib/libreoffice/program/soffice
). Desculpe, não posso testá-lo no Ubuntu agora ....Se tudo isso não funcionar, quando você tentar processar o DOCX:
Pode ser um problema com o arquivo DOCX específico com o qual você tenta o comando ... Portanto, primeiro crie um documento DOCX muito simples. Use o próprio LibreOffice para isso. Escreva "Olá, mundo!" em uma página vazia. Salve-o como DOCX.
Tente novamente. Funciona com o DOCX simples?
Se não funcionar novamente, repita a etapa 7, mas salve como ODT neste momento.
Repita a etapa 8, mas certifique-se de referenciar o ODT neste momento.
Último: use o caminho completo para
soffice
, parasoffice.bin
e paralibreoffice
e execute cada um com o-h
parâmetro:Compare-os com a linha de comando que você usou:
Para comparação, minha própria saída (Mac OS X) está aqui:
Adicione mais um argumento à sua linha de comandos para impor a aplicação de um filtro de entrada quando
soffice
abrir o arquivo DOCX:ou
fonte
Script Nautilus
Este script utiliza o libreoffice para converter arquivos compatíveis com o LibreOffice para PDF.
Para obter instruções de instalação, consulte aqui: Como instalar um script do Nautilus?
fonte
Nota: Decidi excluir minha resposta desta pergunta e postar aqui uma versão modificada quando percebi que
unoconv
isso não lida muito bem compsw
arquivos e não os converte com sucesso em outros formatos. Também pode haver problemas comdocx
exlsx
formatos.No entanto,
Libreoffice
suporta totalmente muitos tipos de arquivos; documentação completa está disponível no site oficial, que detalha os formatos válidos de entrada e saída.Você pode usar o
libreoffice
utilitário de conversão da linha de comandos ou o unoconv , disponível nos repositórios. Eu achounoconv
que é muito útil, e é provavelmente o que você quer. Embora Takkat tenha mencionado brevementeunoconv
, pensei que seria útil fornecer mais alguns detalhes e uma linha de conversão em lote.Usando o terminal, você pode
cd
acessar o diretório que contém seus arquivos e, em seguida, converter em lote todos eles executando uma única linha como esta:(Essa linha única é uma modificação do meu script de tradução apresentado nesta resposta .)
Se mais tarde você quiser usar quaisquer outros formatos de arquivo, basta substituir o
odt
epdf
para quaisquer outros formatos de entrada e saída suportados. Você pode encontrar os formatos suportados para um tipo de arquivo digitandounoconv -f odt --show
. Para converter um único arquivo, use, por exemplounoconv -f pdf myfile.odt
,.Mais informações e opções para o programa podem ser encontradas entrando no terminal
man unoconv
ou acessando as páginas de manual do Ubuntu .fonte
Outro script do Nautilus
Este script Nautilus muito simples e leve usa
unoconv
para converter arquivos selecionados compatíveis com o LibreOffice para o formato PDF:fonte
Estou adicionando uma nova resposta, porque nos últimos tempos uma série de novos caminhos de conversão foi aberta pelo Pandoc, ganhando a capacidade de ler arquivos ODT.
Quando o Pandoc lê em um formato de arquivo, ele o converte em um formato interno, "nativo" (que é uma forma de JSON).
A partir de sua forma nativa, ele pode exportar o documento para vários outros formatos. Não apenas PDF, mas também DocBook, HTML, EPUB, DOCX, ASCIIdoc, DokuWiki, MediaWiki e o que não ...
Como aqui o formato de saída desejado é o PDF, temos outra opção de caminhos diferentes, fornecidos pelo que Pandoc está chamando de mecanismo de pdf . Aqui está a lista dos mecanismos PDF disponíveis no momento (válidos para Pandoc v2.7.2 e posterior - as versões anteriores podem suportar apenas uma lista menor):
pdflatex: Isso requer que o LaTeX seja instalado além do Pandoc.
xelatex: Isso requer que o XeLaTeX seja instalado além do Pandoc (também disponível como um pacote adicional para distribuições gerais do TeX ).
contexto: Isso requer que o ConTeXt seja instalado além do Pandoc; O ConTeXt está disponível como um pacote adicional para a maioria das distribuições gerais de TeX .
lualatex: Isso requer que o LuaTeX seja instalado além do Pandoc (também disponível como um pacote adicional para distribuições gerais do TeX ).
pdfroff: Isso requer que o GNU Roff seja instalado além do Pandoc.
wkhtml2pdf: Isso requer que o wkhtmltopdf seja instalado além do Pandoc.
prince: Isso requer que o PrinceXML seja instalado além do Pandoc.
weasyprint: Isso requer que o weasyprint seja instalado além do Pandoc.
Existem agora mais e mais novos mecanismos PDF integrados ao Pandoc, que ainda não usei e que atualmente não consigo descrever em mais detalhes: tectônico e latexmk .
AVISO: Não espere que a aparência do documento original seja idêntica em todas as saídas em PDF à visualização de impressão ou exportação em PDF do ODT! Pandoc, ao converter não preserva layouts , preserva o conteúdo e a estrutura dos documentos: parágrafos permanecem parágrafos, palavras enfatizadas permanecem enfatizadas, cabeçalhos permanecem cabeçalhos, etc. Mas a aparência geral pode mudar consideravelmente.
Comandos de exemplo
pdflatex:
XeLaTeX:
LuaLaTeX:
Contexto:
Troff GNU:
wkhtmltopdf:
PrinceXML:
weasyprint:
Os comandos acima são os mais básicos para a conversão. Dependendo do mecanismo de PDF escolhido, pode haver muitas outras opções possíveis para controlar a aparência do arquivo PDF de saída. Por exemplo, os seguintes parâmetros adicionais podem ser adicionados a todos esses caminhos roteados pelo LaTeX:
que usará um tamanho de página personalizado (um pouco maior que DIN A4) com margens de 2 cm na borda superior e 1,12 cm nas outras três bordas).
fonte