Skip to content

XML to PDF Converter pt BR

Rafael JPD edited this page Jan 2, 2025 · 5 revisions

Descrição (MVP1)

O pdf_generator é uma ferramenta de linha de comando projetada para converter arquivos XML em artigos no formato PDF.

Tecnologias

  • Python 3.x
  • lxml
  • python-docx
  • LibreOffice

Funcionalidades

  • Suporte a Idioma Único: Gera PDFs em um único idioma, garantindo consistência.
  • Tabelas Básicas: Suporte a tabelas que ocupam uma única coluna, sem células mescladas.
  • Layout em Duas Colunas: Adota um layout padrão em duas colunas para o texto.
  • Estilização de Seções: Formata automaticamente as seções de acordo com sua hierarquia.
  • Citações Simples: Formata citações de maneira limpa e direta.
  • Cabeçalhos e Rodapés:
    • Cabeçalho da Primeira Página: Inclui o nome do periódico e o DOI do artigo.
    • Cabeçalho das Páginas Subsequentes: Inclui o nome do periódico e o título curto do artigo.
  • Rodapés: Inclui a numeração de páginas, detalhes da edição e "cite as" (na primeira página).
  • Formatos Intermediários: Suporte à geração de arquivos intermediários no formato .docx.

Versões Futuras

  • Versão com interface web.
  • Versão em formato de biblioteca.
  • Suporte a novas estruturas de documentos.
  • Novos templates para PDF.

Pré-requisitos

Para usar o conversor de XML para PDF, é necessário ter o LibreOffice versão 24.2 instalado. Você pode baixá-lo diretamente neste link ou visitar o site do LibreOffice.

Instalação

Você pode instalar o packtools de duas maneiras:

Linux

python3 -m venv .venv
source .venv/bin/activate
pip install packtools>=4.10.0

Windows

Crie uma nova pasta chamada scielo-packtools-v4.x

md scielo-packtools-v4.x

Acesse a pasta chamada scielo-packtools-v4.x

cd scielo-packtools-v4.x

Crie um ambiente virtual chamado env

python3 -m venv env

Ative o ambiente virtual

env\Scripts\activate

Instale o packtools

pip install packtools>=4.10.0

Desative o ambiente virtual

deactivate

Uso

Acesse a pasta chamada scielo-packtools-v4.x

cd scielo-packtools-v4.x

Ative o ambiente virtual

env\Scripts\activate

Para usar o utilitário pdf_generator, forneça o caminho para o arquivo XML que representa um artigo e o caminho desejado para o PDF de saída. Opcionalmente, você pode fornecer um arquivo de layout DOCX para formatação. Há um arquivo de layout padrão aqui, que contém um conjunto de estilos DOCX predefinidos usados para formatar o conteúdo do artigo.

Argumentos da Linha de Comando

usage: pdf_generator [-h] -i PATH_TO_READ [-l LAYOUT] -o PATH_TO_WRITE

Converta arquivo XML no formato SciELO para PDF.

argumentos opcionais:
  -h, --help            mostra esta mensagem de ajuda e sai
  -i PATH_TO_READ, --xml_scielo PATH_TO_READ
                        Caminho para leitura do arquivo XML.
  -l LAYOUT, --layout LAYOUT
                        Caminho para leitura do arquivo de layout DOCX.
  -o PATH_TO_WRITE, --pdf PATH_TO_WRITE
                        Caminho para salvar o arquivo PDF gerado.

Exemplo

pdf_generator -i path/to/article.xml -o path/to/article.pdf

Se você tiver um arquivo de layout DOCX personalizado, pode utilizá-lo como indicado a seguir:

pdf_generator -i path/to/article.xml -l path/to/layout.docx -o path/to/article.pdf

Saída:

Documento intermediário salvo em path/to/article.docx
convert /home/user/article.docx as a Writer document -> /home/user/article.pdf using filter : writer_pdf_Export

Capturas de Tela

image

Figura 1. Arquivo XML usado como entrada.

image

Figure 2. Arquivo PDF gerado a partir do utilitário pdf_generator.