Converter PDF para PDF/A, PDF/E e PDF/X em Python
Formato PDF para PDF/x significa a capacidade de converter PDF para formatos adicionais, nomeadamente PDF/A, PDF/E e PDF/X.
Converter PDF para PDF/A
Aspose.PDF for Python permite que você converta um arquivo PDF para um PDF/A arquivo PDF compatível. Antes de fazer isso, o arquivo deve ser validado. Este tópico explica como.
Converta o arquivo usando o método Convert da classe Document. Antes de converter o PDF para um arquivo compatível com PDF/A, valide o PDF usando o método Validate. O resultado da validação é armazenado em um arquivo XML e, então, esse resultado também é passado para o método Convert. Você também pode especificar a ação para os elementos que não podem ser convertidos usando a enumeração ConvertErrorAction.
Tente converter PDF para PDF/A online
Aspose.PDF for Python apresenta-lhe uma aplicação online “PDF para PDF/A-1A”, onde você pode tentar investigar a funcionalidade e a qualidade com que funciona.
O método ‘document.validate()’ valida se um arquivo PDF está em conformidade com o padrão PDF/A-1B (uma versão do PDF padronizada pela ISO projetada para arquivamento de longo prazo). Os resultados da validação são salvos em um arquivo de log.
Converter PDF para PDF/A-1B
O trecho de código a seguir mostra como converter arquivos PDF para o formato PDF/A-1B:
- Carregue o documento PDF usando ‘ap.Document’.
- Chame o método convert com os seguintes parâmetros:
- Caminho do arquivo de log - armazena os detalhes do processo de conversão e verificações de conformidade.
- Formato de destino - ‘ap.PdfFormat.PDF_A_1B’ (padrão de arquivamento).
- Ação de erro - ‘ap.ConvertErrorAction.DELETE’ — remove automaticamente os elementos que impedem a conformidade.
- Salve o arquivo PDF/A compatível convertido no caminho de saída.
import aspose.pdf as ap
from os import path
import sys
def convert_PDF_to_PDFA(infile, outfile):
"""Convert PDF to PDF/A-1B format."""
document = ap.Document(infile)
document.convert(
outfile.replace(".pdf", "-log.xml"),
ap.PdfFormat.PDF_A_1B,
ap.ConvertErrorAction.DELETE,
)
document.save(outfile)
print(infile + " converted into " + outfile)
Converter PDF para PDF 2.0 e PDF/A-4
Este exemplo demonstra como converter um documento PDF em formatos padronizados mais recentes: PDF 2.0 e PDF/A-4. Ambas as conversões ajudam a garantir a conformidade com as especificações modernas e os requisitos de arquivamento.
- Carregue o documento de entrada usando ap.Document.
- Execute a primeira conversão para PDF 2.0 chamando document.convert com:
- Caminho do arquivo de log para detalhes da conversão.
- Formato de destino - ‘ap.PdfFormat.V_2_0’.
- Ação de erro - ‘ap.ConvertErrorAction.DELETE’ para remover elementos não conformes.
- Execute uma segunda conversão para PDF/A-4 usando o mesmo método, garantindo que o arquivo também esteja em conformidade com os padrões de arquivamento.
- Salve o documento resultante no caminho de saída especificado.
import aspose.pdf as ap
from os import path
import sys
def convert_PDF_to_PDFA4(infile, outfile):
logfile = outfile.replace(".pdf", "_log.xml")
document = ap.Document(infile)
document.convert(logfile, ap.PdfFormat.V_2_0, ap.ConvertErrorAction.DELETE)
document.convert(logfile, ap.PdfFormat.PDF_A_4, ap.ConvertErrorAction.DELETE)
document.save(outfile)
Converter PDF para PDF/A-3A com Arquivos Incorporados
O próximo trecho de código demonstra como incorporar arquivos externos em um PDF e, em seguida, converter o PDF para o formato PDF/A-3A, que suporta anexos e é adequado para arquivamento de longo prazo com conteúdo incorporado.
- Carregue o PDF de entrada usando ‘ap.Document’.
- Crie um objeto ‘FileSpecification’ que aponta para o arquivo a ser incorporado (por exemplo, “aspose-logo.jpg”) com uma descrição.
- Adicione a especificação do arquivo à coleção ’embedded_files’ do PDF.
- Converta o documento para PDF/A-3A usando ‘document.convert’, especificando:
- Caminho do arquivo de log.
- Formato de destino - ‘ap.PdfFormat.PDF_A_3A’.
- Ação de erro - ‘ap.ConvertErrorAction.DELETE’ para remover elementos não conformes.
- Salve o PDF convertido no caminho de saída.
- Imprima uma mensagem de confirmação.
import aspose.pdf as ap
from os import path
import sys
def convert_PDF_to_PDFA_with_attachment(infile, attachement_file, outfile):
logfile = outfile.replace(".pdf", "-log.xml")
document = ap.Document(infile)
fileSpecification = ap.FileSpecification(attachement_file, "Large Image file")
document.embedded_files.add(fileSpecification)
document.convert(
logfile, ap.PdfFormat.PdfFormat.PDF_A_3A, ap.ConvertErrorAction.DELETE
)
document.save(outfile)
Converter PDF para PDF/A-1B com Substituição de Fonte
Esta função converte um PDF para o formato PDF/A-1B enquanto lida com fontes ausentes substituindo‑as por fontes disponíveis. Isso garante que o PDF convertido permaneça visualmente consistente e em conformidade com os padrões de arquivamento.
- Carregue o PDF usando ‘ap.Document’.
- Converta o PDF para PDF/A-1B usando ‘document.convert’, especificando:
- Caminho do arquivo de log.
- Formato de destino - ‘ap.PdfFormat.PDF_A_1B’.
- Ação de erro - ‘ap.ConvertErrorAction.DELETE’ para remover elementos não conformes.
- Salve o PDF convertido no caminho de saída.
- Imprima uma mensagem de confirmação.
import aspose.pdf as ap
from os import path
import sys
def convert_PDF_to_PDFA_replace_missing_fonts(infile, outfile):
logfile = outfile.replace(".pdf", "-log.xml")
try:
ap.text.FontRepository.find_font("AgencyFB")
except ap.FontNotFoundException:
font_substitution = ap.text.SimpleFontSubstitution("AgencyFB", "Arial")
ap.text.FontRepository.Substitutions.append(font_substitution)
document = ap.Document(infile)
document.convert(logfile, ap.PdfFormat.PDF_A_1B, ap.ConvertErrorAction.DELETE)
document.save(outfile)
Converter PDF para PDF/A-1B com Marcação automática
Esta função converte um documento PDF para o formato PDF/A-1B enquanto marca automaticamente o conteúdo para acessibilidade e consistência estrutural. A marcação automática melhora a usabilidade do documento para leitores de tela e garante uma estrutura semântica adequada.
- Carregue o PDF usando ‘ap.Document’.
- Crie ‘PdfFormatConversionOptions’ especificando:
- Caminho do arquivo de log.
- Formato de destino - ‘ap.PdfFormat.PDF_A_1B’.
- Ação de erro - ‘ap.ConvertErrorAction.DELETE’ para remover elementos não conformes.
- Configure ‘AutoTaggingSettings’:
- Habilitar ’enable_auto_tagging = True’.
- Defina ‘heading_recognition_strategy = AUTO’ para detectar automaticamente os cabeçalhos.
- Atribua as configurações de autoetiquetagem às opções de conversão.
- Converta o PDF usando ‘document.convert(options)’.
- Salve o PDF convertido no caminho de saída.
- Imprima uma mensagem de confirmação.
import aspose.pdf as ap
from os import path
import sys
def convert_PDF_to_PDFA_with_automatic_tagging(infile, outfile):
logfile = outfile.replace(".pdf", "-log.xml")
document = ap.Document(infile)
options = ap.PdfFormatConversionOptions(
logfile, ap.PdfFormat.PDF_A_1B, ap.ConvertErrorAction.DELETE
)
auto_tagging_settings = ap.AutoTaggingSettings()
auto_tagging_settings.enable_auto_tagging = True
auto_tagging_settings.heading_recognition_strategy = (
ap.HeadingRecognitionStrategy.AUTO
)
options.auto_tagging_settings = auto_tagging_settings
document.convert(options)
document.save(outfile)
print(infile + " converted into " + outfile)
Converter PDF para PDF/E
Este trecho de código demonstra como converter um documento PDF para o formato PDF/E-1, que é um padrão ISO voltado para documentação de engenharia e técnica. Esse formato preserva o layout preciso, gráficos e metadados exigidos nos fluxos de trabalho de engenharia.
- Carregue o PDF de origem usando ‘ap.Document’.
- Crie ‘PdfFormatConversionOptions’ especificando:
- Caminho do arquivo de log para rastrear problemas de conversão.
- Formato de destino - ‘ap.PdfFormat.PDF_E_1’.
- Ação de erro - ‘ap.ConvertErrorAction.DELETE’ para remover elementos não conformes.
- Converta o PDF usando ‘document.convert(options)’.
- Salve o PDF convertido no caminho de saída especificado.
- Imprima uma mensagem de confirmação.
import aspose.pdf as ap
from os import path
import sys
def convert_PDF_to_PDF_E(infile, outfile):
logfile = outfile.replace(".pdf", "-log.xml")
document = ap.Document(infile)
options = ap.PdfFormatConversionOptions(
logfile, ap.PdfFormat.PDF_E_1, ap.ConvertErrorAction.DELETE
)
document.convert(options)
# Save PDF document
document.save(outfile)
print(infile + " converted into " + outfile)
Converter PDF para PDF/X
O próximo trecho de código converte um documento PDF para o formato PDF/X-4, que é um padrão ISO comumente usado na indústria de impressão e publicação. O PDF/X-4 garante a precisão de cores, mantém a transparência e incorpora perfis ICC para uma saída consistente em diferentes dispositivos.
- Carregue o PDF de origem usando ‘ap.Document’.
- Crie ‘PdfFormatConversionOptions’ especificando:
- Caminho do arquivo de log.
- Formato de destino - ‘ap.PdfFormat.PDF_X_4’.
- Ação de erro - ‘ap.ConvertErrorAction.DELETE’ para remover elementos não conformes.
- Forneça o arquivo de perfil ICC para gerenciamento de cores via ‘icc_profile_file_name’.
- Especifique um OutputIntent com um identificador de condição (por exemplo, “FOGRA39”) para requisitos de impressão.
- Converta o PDF usando ‘document.convert()’.
- Salve o PDF convertido no caminho de saída especificado.
- Imprima uma mensagem de confirmação.
import aspose.pdf as ap
from os import path
import sys
def convert_PDF_to_PDF_X(infile, outfile):
logfile = outfile.replace(".pdf", "-log.xml")
document = ap.Document(infile)
options = ap.PdfFormatConversionOptions(
logfile, ap.PdfFormat.PDF_X_4, ap.ConvertErrorAction.DELETE
)
# Provide the name of the external ICC profile file (optional)
options.icc_profile_file_name = path.join(
path.dirname(infile), "ISOcoated_v2_eci.icc"
)
# Provide an output condition identifier and other necessary OutputIntent properties (optional)
options.output_intent = ap.OutputIntent("FOGRA39")
document.convert(options)
# Save PDF document
document.save(outfile)
print(infile + " converted into " + outfile)
Conversões relacionadas
- Converter PDF para Word para fluxos de trabalho de conteúdo editável após validação de padrões.
- Converter PDF para HTML quando sua saída de destino está pronta para a web em vez de PDF baseada em padrões.
