LibreOffice sem tela: como um servidor converte Word em PDF
Como o LibreOffice converte Word, Excel e PowerPoint em PDF sem tela: perfil isolado, macros bloqueadas, fontes substitutas e o que faz a conversão falhar.
Um servidor converte Word em PDF rodando o LibreOffice no modo headless, que abre o documento sem janela, exporta e encerra. No site, cada conversão usa um perfil próprio, com macros desligadas e links externos bloqueados, e o arquivo de saída é conferido antes de ser entregue.
O que é o modo headless
O LibreOffice é uma suíte de escritório livre, mantida pela The Document Foundation. Ela tem uma interface gráfica, mas também pode rodar sem ela. No modo headless, o programa carrega o documento, executa a ação pedida e termina, sem mostrar janelas e sem esperar que alguém clique em algo. Isso é o que permite a um servidor converter arquivos em lote.
A conversão para PDF usa a opção de converter para o formato PDF, indicando o diretório de saída e o arquivo de entrada. Outras opções, como as que suprimem a tela de boas-vindas e a checagem de bloqueio de arquivo, completam a chamada. O processo tem um limite de tempo de 120 segundos, e tudo que passar disso é encerrado. O fluxo que dispara a conversão de Word em PDF quando um arquivo entra numa pasta está em Power Automate para converter Word em PDF.
Um perfil por conversão
O LibreOffice guarda suas configurações num perfil de usuário. Se duas conversões usam o mesmo perfil ao mesmo tempo, elas disputam um arquivo de bloqueio, e uma delas falha sem motivo claro. O site resolve isso criando um perfil separado para cada conversão, dentro da pasta temporária do próprio pedido.
O custo é o tempo de inicialização. O comentário no código estima cerca de um segundo por conversão, e o ganho é eliminar a corrida entre pedidos simultâneos. Para um servidor que atende várias pessoas ao mesmo tempo, esse é um bom negócio.
Por que o documento é tratado como hostil
Um documento do Word não é só texto. Ele pode apontar para uma imagem na internet, incluir outro arquivo do disco e conter macros. Um servidor que converte documentos de terceiros precisa supor que alguém vai tentar usar isso. A configuração de perfil fecha as portas principais:
| Configuração | Efeito |
|---|---|
| Macros desligadas | Nenhuma macro do documento é executada |
| Links externos não atualizados | Imagens e dados ligados à internet não são buscados ao abrir |
| Proxy apontando para porta sem serviço | Qualquer tentativa de rede da conversão falha, sem sair do servidor |
| Conferência do arquivo de saída | Um PDF inexistente vira erro, e não uma entrega vazia |
Na prática, isso significa que um Word com uma imagem apontando para um endereço interno do servidor não consegue buscar esse endereço. Só entra no PDF o que está dentro do arquivo enviado. É um comportamento que o usuário percebe: uma figura ligada à internet pode sair vazia, e a solução é inserir a imagem no documento antes de enviar.
Por que o arquivo de saída é conferido
O LibreOffice tem uma característica que pega quem chama o programa por código: ele pode encerrar com sucesso mesmo quando recusou o arquivo. Um documento com senha de abertura é um exemplo típico, e a saída é um processo bem-sucedido que não gravou nada. Por isso o site verifica se o PDF existe depois da conversão.
Quando o arquivo não existe, a mensagem ao usuário não fala em código de erro. Ela pede que a senha seja retirada no programa de origem e que o arquivo seja enviado de novo. Essa é a ação que resolve o caso.
Fontes: por que a paginação costuma se manter
Um PDF guarda a aparência das fontes. Se uma fonte do documento não está no servidor, o LibreOffice a troca por outra. A troca só não estraga a paginação quando a substituta tem as mesmas medidas de letra. Por isso o servidor tem famílias compatíveis com as fontes mais comuns do Office.
| Fonte no Office | Família usada no servidor | Efeito |
|---|---|---|
| Arial, Times New Roman, Courier New | Liberation | Medidas compatíveis com a original |
| Calibri | Carlito | Medidas compatíveis com a original |
| Cambria | Caladea | Medidas compatíveis com a original |
| Fonte rara ou de empresa | Substituta parecida | Uma linha pode quebrar em outro lugar |
A última linha é a que exige atenção. Uma fonte de marca, usada em um logotipo ou num título, não existe no servidor e vira uma parecida. Se o documento depende da aparência exata, salve o .docx com as fontes incorporadas antes de enviar, e confira o PDF gerado. Se a fonte já mudou no PDF, o guia Word para PDF mudou a fonte lista as causas, e o passo a passo da conversão está em converter DOCX em PDF.
Planilhas e CSV
Para planilhas, o motor aceita a opção de caber cada aba numa única página, o que evita que uma tabela larga se espalhe por várias folhas. Para CSV, a detecção de separador pela primeira linha resolve o caso mais comum no Brasil, que é o arquivo salvo pelo Excel com ponto e vírgula. Se o seu CSV ainda abre numa coluna só, confira a primeira linha: se ela tem mais vírgulas que ponto e vírgulas, o separador foi escolhido como vírgula.
Para o resultado de uma planilha, o guia de Excel em PDF numa página mostra como ajustar a planilha antes da conversão, e Excel para PDF cortou colunas trata do caso em que a tabela saiu cortada. Para documentos de texto, o guia de salvar Word em PDF leve cobre o tamanho do arquivo final.
Converter no seu computador ou no servidor
Converter no seu computador tem uma vantagem clara: o documento não sai dele. A conversão local também evita a diferença de fontes, porque você usa as fontes que tem instaladas, e o PDF sai com a mesma aparência que você vê. Se o seu Office já está instalado, o caminho mais seguro para um documento confidencial é esse.
Para um documento que você não quer instalar nada para converter, o servidor serve. Use a ferramenta de Word para PDF, de Excel para PDF ou de PowerPoint para PDF, e confira a paginação no resultado antes de enviar. Lembre que o arquivo sai do seu computador e vai ao servidor, e a política de privacidade descreve o que acontece depois.
Perguntas frequentes
Por que o Word enviado não converteu e o servidor não devolveu nada?
Em geral, o documento tem senha de abertura ou está corrompido. O LibreOffice recusa o arquivo, sai com código de sucesso e não grava o PDF. O AjustaPDF confere se o arquivo existe e, quando não existe, pede que você tire a senha no programa de origem e envie de novo.
As fontes do meu Word aparecem diferentes no PDF convertido?
Podem aparecer, quando a fonte não está instalada no servidor. Arial, Times New Roman, Courier New, Calibri e Cambria têm substitutas de mesma largura, então a paginação costuma se manter. Para garantir a aparência, salve o .docx com as fontes incorporadas no próprio Word.
Por que um CSV brasileiro abre com os dados todos numa coluna?
Porque o separador de colunas do CSV salvo no Excel em português costuma ser o ponto e vírgula, já que a vírgula é o separador decimal. O AjustaPDF escolhe o separador pela primeira linha do arquivo, entre ponto e vírgula, vírgula e tabulação, e abre o CSV em colunas.
Por que um documento com macros não roda as macros na conversão?
Porque a conversão roda com as macros desligadas, por segurança. Um documento é um dado não confiável, e uma macro pode acessar arquivos ou a rede. Se o PDF precisa do resultado de uma macro, rode a macro no seu Office, salve o arquivo e converta a versão salva.