Converta arquivos DOCX para PDF em lote usando a linha de comando do LibreOffice.

Se você tiver uma pasta com arquivos do Word, o LibreOffice pode convertê-los com um único comando. Na pasta que contém os arquivos DOCX, crie uma pasta de saída vazia e execute o comando libreoffice --headless --convert-to pdf:writer_pdf_Export --outdir pdf *.docx. Isso utiliza o filtro de exportação para PDF do Writer e preserva os arquivos originais.

Utilize uma pasta de saída nova, confirme se o LibreOffice está instalado e verifique os PDFs resultantes, em vez de considerar a conclusão bem-sucedida do comando como prova de que todas as páginas estão corretas. A linha de comando é uma ferramenta prática para processamento em lote; ela não garante paginação idêntica à do Microsoft Word nem corrige documentos danificados.

Execute uma conversão em lote simples.

No Linux, abra um terminal no diretório que contém os arquivos. Primeiro, crie o diretório de saída:

mkdir -p pdf
libreoffice --headless --convert-to pdf:writer_pdf_Export --outdir pdf *.docx

--headlessO comando é executado sem abrir a janela normal da área de trabalho. --convert-toSeleciona o PDF como formato de destino; writer_pdf_Exportnomeia o filtro de exportação PDF do LibreOffice Writer; e --outdir pdfenvia os resultados para a pdfpasta. O shell se expande *.docxpara exibir os arquivos correspondentes antes que o LibreOffice seja iniciado. O LibreOffice documenta essa sintaxe de conversão e o nome do filtro em sua referência de parâmetros de linha de comando e lista de filtros de conversão de arquivos .

O terminal Linux exibe um comando em lote do LibreOffice convertendo arquivos DOCX em PDF e listando os PDFs resultantes.
Exemplo de saída no terminal após o envio de um pequeno lote de arquivos DOCX para o LibreOffice com o filtro de exportação para PDF "Writer".

Escolha o padrão de lote correto

O comando com curinga é mais adequado quando todos os arquivos DOCX estão diretamente dentro de uma única pasta de entrada. Ele não pesquisa subpastas. No Linux, o padrão também diferencia maiúsculas de minúsculas por padrão, portanto, *.docxpode ignorar arquivos com extensão .docx .DOCX. Se o shell informar que o padrão não correspondeu, liste os arquivos e verifique suas extensões antes de alterar o comando.

Para documentos aninhados em subpastas, um loop pode preservar a estrutura de diretórios e evitar conflitos quando duas pastas contêm um arquivo com o mesmo nome. Defina inputpara a árvore de origem e pdfpara uma árvore de destino separada:

input="$PWD/input"
output="$PWD/pdf"
profile="file:///tmp/lo-batch-profile"

find "$input" -type f -iname '*.docx' -print0 |
while IFS= read -r -d '' file; do
  rel="${file#"$input"/}"
  dest="$output/$(dirname "$rel")"
  mkdir -p "$dest"
  libreoffice --headless \
    -env:UserInstallation="$profile" \
    --convert-to pdf:writer_pdf_Export \
    --outdir "$dest" "$file"
done

-print0e a correspondência read -d ''lida com segurança com espaços e a maioria dos caracteres incomuns em nomes de arquivos. O perfil separado impede que este trabalho em lote entre em conflito com uma sessão do LibreOffice em execução no desktop usando o mesmo perfil de usuário; consulte os documentos de referência de inicialização do LibreOffice -env:UserInstallation. Use um caminho de perfil exclusivo se dois trabalhos de conversão puderem ser executados simultaneamente. Mantenha a árvore de saída fora da árvore de entrada para que a pesquisa não se perca em resultados anteriores.

O terminal Linux exibe um loop baseado em busca que envia documentos de pastas aninhadas para pastas de saída PDF correspondentes.
Exemplo de um loop de busca recursivo que grava PDFs em uma subpasta "pdf" ao lado de cada pasta de origem, mantendo arquivos com o mesmo nome em pastas diferentes separados.

Quando o LibreOffice já estiver aberto

Um comando pode parecer terminar sem gerar arquivos ou pode se conectar a um processo existente do LibreOffice. Uma instância da área de trabalho em execução pode conter o perfil de usuário padrão. Feche o LibreOffice e tente novamente; para tarefas não supervisionadas, a -env:UserInstallationopção de isolamento no exemplo recursivo é uma proteção útil. Atribua a cada tarefa simultânea seu próprio diretório de perfil e aguarde a conclusão de uma tarefa antes de reutilizar esse diretório.

Se o comando indicar libreoffice: command not found, instale o LibreOffice através da fonte de pacotes suportada pelo seu sistema operacional ou utilize o caminho completo do executável. No Windows PowerShell, um script em lote simples e não recursivo pode ser escrito da seguinte forma:

$src = (Resolve-Path .).Path
$out = Join-Path $src 'pdf'
New-Item -ItemType Directory -Force -Path $out | Out-Null
$soffice = "$env:ProgramFiles\LibreOffice\program\soffice.exe"
Get-ChildItem -File -Filter *.docx | ForEach-Object {
  & $soffice --headless --convert-to pdf:writer_pdf_Export --outdir $out $_.FullName
}

Ajuste $sofficese o LibreOffice estiver instalado em outro local. Execute o comando a partir da pasta de origem e use uma nova pasta de saída. O PowerShell Get-ChildItem -Filepesquisa apenas essa pasta, a menos que a recursão seja solicitada; tarefas recursivas precisam de um loop que crie uma pasta de destino correspondente para cada caminho de origem.

O que pode afetar o resultado?

A conversão para PDF preserva o layout que o LibreOffice consegue interpretar, mas o Word e o LibreOffice nem sempre paginam os documentos de forma idêntica. Fontes ausentes, objetos incorporados não suportados, alterações controladas, campos ou tabelas complexas podem alterar as quebras de linha e a contagem de páginas. Para garantir uma tipografia consistente, instale as fontes necessárias para os documentos antes da conversão. Arquivos protegidos ou criptografados com senha podem precisar ser abertos com credenciais ou manipulados manualmente, e um arquivo DOCX corrompido pode apresentar falhas mesmo que outros arquivos sejam convertidos.

Não execute o processo em lote repetidamente em uma pasta que contenha PDFs importantes com nomes correspondentes. Use um destino limpo ou faça backup da saída existente primeiro. Se um arquivo for especialmente importante, abra-o no LibreOffice Writer e inspecione-o antes de confiar no PDF. Se a paginação exata do Microsoft Word for um requisito contratual, o LibreOffice pode não ser o renderizador adequado; compare com um exemplo representativo no aplicativo que define o layout necessário.

O terminal Linux mostra o LibreOffice em execução sem interface gráfica (headless) com um perfil de instalação de usuário separado antes da exportação para PDF.
Exemplo de comando usando um perfil de usuário separado do LibreOffice para uma execução de conversão não assistida.

Verifique o resultado antes de compartilhá-lo.

Primeiro, compare o número de arquivos de origem com o número de PDFs. No Linux, estes comandos contam os arquivos em uma pasta simples:

find . -maxdepth 1 -type f -iname '*.docx' | wc -l
find pdf -maxdepth 1 -type f -iname '*.pdf' | wc -l

Para conversão recursiva, compare as contagens em todas as árvores de entrada e saída. Uma contagem correspondente é uma triagem útil, mas não uma garantia de qualidade: um documento corrompido ou uma duplicata sobrescrita ainda pode exigir revisão. Verifique o log do terminal em busca de erros e confirme se cada nome de arquivo esperado aparece no destino.

Inspecione PDFs representativos em um visualizador de PDF. Verifique a primeira e a última página, a contagem de páginas, as margens, as tabelas, os cabeçalhos e rodapés, as imagens e quaisquer quebras de página relevantes. Se pdfinfoestiver instalado, pdfinfo pdf/Report.pdfo visualizador fornece metadados como contagem e tamanho das páginas; ele não avalia a fidelidade visual. Reconverta somente após corrigir um problema específico, como instalar uma fonte ausente ou alterar o diretório de saída, e revise os PDFs afetados novamente.

O terminal Linux exibe a saída do pdfinfo com a contagem de páginas, o tamanho da página e o tamanho do arquivo PDF convertido.
Exemplo de visualização de verificação mostrando metadados do PDF, como número de páginas e tamanho do papel.

O lote estará pronto quando todos os PDFs esperados existirem, abrirem sem erros e as páginas importantes mantiverem o layout pretendido. Para arquivos extensos, mantenha os arquivos DOCX originais e os registros de conversão para que uma falha específica possa ser rastreada e o processo refeito sem a necessidade de substituir arquivos irrelevantes.

Deixar um comentário

Use expressões regulares no LibreOffice Writer para editar textos em lote.

Use expressões regulares no LibreOffice Writer para editar textos em lote.

Ajuste o espaçamento, encontre texto estruturado e reorganize nomes com padrões de expressões regulares do Writer que você pode visualizar antes de substituir.

Configure os parágrafos em árabe e hebraico para leitura da direita para a esquerda no Writer.

Configure os parágrafos em árabe e hebraico para leitura da direita para a esquerda no Writer.

Ative os controles bidirecionais do Writer, defina o fluxo de parágrafos da direita para a esquerda (RTL) e verifique textos mistos em árabe ou hebraico sem interromper palavras e números em inglês.

Restaurar fontes Calibri e Arial no LibreOffice sem complicações

Restaurar fontes Calibri e Arial no LibreOffice sem complicações

Instale fontes Linux compatíveis com o sistema métrico ou mapeie as fontes alternativas do LibreOffice, levando em consideração as diferenças de licenciamento e layout das fontes da Microsoft.

Crie PDFs preenchíveis a partir de formulários no LibreOffice Writer.

Crie PDFs preenchíveis a partir de formulários no LibreOffice Writer.

Adicione campos de texto, caixas de seleção e listas suspensas utilizáveis ​​no Writer e, em seguida, exporte um PDF que os destinatários possam preencher e salvar.

Crie PDFs do LibreOffice mantendo as fontes que você usou.

Crie PDFs do LibreOffice mantendo as fontes que você usou.

Corrija fontes ausentes ou substituídas em PDFs do LibreOffice Writer, escolha o perfil de exportação correto e verifique quais fontes estão incorporadas antes de compartilhar.

Converta arquivos DOCX para PDF em lote usando a linha de comando do LibreOffice.

Converta arquivos DOCX para PDF em lote usando a linha de comando do LibreOffice.

Converta uma pasta de documentos do Word para PDF com os comandos do LibreOffice, lide com pastas aninhadas com segurança e verifique a saída antes de compartilhar.

Faça com que todos os novos documentos de redação usem seu modelo.

Faça com que todos os novos documentos de redação usem seu modelo.

Defina um modelo personalizado do LibreOffice Writer como padrão para que novos documentos sejam abertos com seus estilos e layout de página preferidos.

Faça o LibreOffice reconhecer seu ambiente de execução Java.

Faça o LibreOffice reconhecer seu ambiente de execução Java.

Instale um ambiente de execução Java compatível, habilite-o no LibreOffice e solucione problemas de uma lista de JRE vazia sem alterar configurações irrelevantes.

Execute o LibreOffice Headless no Docker para conversão de PDF.

Execute o LibreOffice Headless no Docker para conversão de PDF.

Crie um pequeno contêiner LibreOffice, converta documentos do Office sem interface gráfica e verifique a saída em PDF, limitando o acesso aos arquivos do host.

Reduza o tamanho dos arquivos do LibreOffice Impress sem desfocar as imagens.

Reduza o tamanho dos arquivos do LibreOffice Impress sem desfocar as imagens.

Reduza o tamanho de arquivos de apresentação do LibreOffice comprimindo fotos incorporadas, escolhendo configurações de imagem adequadas e verificando a qualidade dos slides antes de compartilhar.