Como converter PDF para PDFA em C++
O formato de documento portátil (PDF) tem sido o formato preferido para compartilhar documentos em diversas plataformas. No entanto, com a crescente importância do arquivamento digital, há uma necessidade cada vez maior de arquivar documentos em um formato padronizado que garanta sua preservação e acessibilidade a longo prazo. O formato PDF/A (PDFA) foi especificamente concebido para este fim, oferecendo um formato estável e autossuficiente, adequado para arquivamento.
Entendendo PDF/A
O PDF/A, uma variante do PDF padronizada pela ISO, foi projetado para preservar documentos ao longo do tempo, mantendo a acessibilidade e a integridade do conteúdo. Ao contrário de um arquivo PDF comum, um arquivo PDF/A possui restrições específicas que garantem sua robustez e autossuficiência.
Este artigo orienta você no processo de conversão de documentos PDF para o formato PDF/A usando a biblioteca QPDF em C++. QPDF, uma poderosa biblioteca C++, permite que desenvolvedores gerenciem e convertam documentos PDF programaticamente, incluindo a conversão de PDF para PDF/A, com apenas algumas linhas de código.
Biblioteca QPDF C++
QPDF é uma biblioteca C++ e uma ferramenta de linha de comando projetada para auxiliar no trabalho com arquivos PDF, sua transformação e análise. Permite que os desenvolvedores acessem e manipulem programaticamente o conteúdo de arquivos PDF, com amplo suporte. O QPDF é um projeto de código aberto que oferece uma gama de recursos, incluindo criptografia, descriptografia, linearização, otimização e conformidade com PDF/A.
Pré-requisitos
Antes de começar, certifique-se de que a seguinte configuração esteja correta:
- Code::Blocks IDE: Baixe e instale o Code::Blocks a partir do site oficial ( Site oficial do Code::Blocks ).
- Biblioteca QPDF: Baixe a versão mais recente da biblioteca QPDF para o seu sistema operacional no site do QPDF ( Site Oficial do QPDF ).
Criando um projeto de PDF para PDF
- Abra o Code::Blocks: Inicie o ambiente de desenvolvimento integrado (IDE) Code::Blocks no seu computador.
- Criar um novo projeto: Clique em Arquivo no menu superior e selecione Novo , seguido de Projeto .
- Escolha o tipo de projeto: Na janela Novo a partir do modelo , escolha Aplicativo de console e clique em Ir . Selecione a linguagem C/C++ e clique em Avançar .
- Insira os detalhes do projeto: Forneça um nome para o projeto no campo Título do projeto (por exemplo, "PDFtoPDFA"). Escolha onde salvar os arquivos do projeto e clique em Avançar .
- Selecione o compilador: Escolha um compilador e, se necessário, selecione um manualmente na lista. Clique em Concluir .
Adicionando o QPDF ao projeto
Para incluir os arquivos de cabeçalho QPDF no Code::Blocks, siga estes passos:
- Clique em Projeto no menu.
- Selecione Opções de compilação no menu de contexto.
- Na caixa de diálogo Opções de compilação , acesse a guia Pesquisar diretórios .
- Na guia Compilador , clique no botão Adicionar e navegue até o diretório que contém os arquivos de cabeçalho do QPDF (normalmente localizado na pasta include ).
- Em seguida, na guia Link , clique no botão Adicionar e inclua os diretórios lib e bin .
- Clique em OK para fechar a caixa de diálogo Opções de compilação .
Além disso, você precisa estabelecer uma conexão com a biblioteca QPDF durante a fase de vinculação. Siga estes passos:
- Na caixa de diálogo Opções de compilação , acesse a guia Configurações do vinculador .
- Em "Bibliotecas vinculadas" , clique em "Adicionar" e navegue até o diretório com os arquivos da biblioteca QPDF (geralmente com extensão .a ou .lib no Windows).
- Clique em Adicionar novamente e insira o nome da biblioteca QPDF (por exemplo, libqpdf.a ou qpdf.lib ).
- Clique em OK para fechar a caixa de diálogo Opções de compilação .
Passos para converter um arquivo PDF em um arquivo PDF/A
Incluir os arquivos de cabeçalho necessários
#include <iostream>
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFWriter.hh>
// The above code includes necessary header files for standard input/output operations and QPDF functionalities.
#include <iostream>
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFWriter.hh>
// The above code includes necessary header files for standard input/output operations and QPDF functionalities.
Defina os caminhos para os arquivos de entrada e saída.
Na função main (ponto de partida do programa em C++), defina os caminhos para os arquivos de entrada e saída:
std::string input_pdf_path = "input.pdf";
std::string output_pdf_a_path = "output.pdfa";
// These lines declare and initialize strings to store the paths of the input PDF and the output PDF/A file.
std::string input_pdf_path = "input.pdf";
std::string output_pdf_a_path = "output.pdfa";
// These lines declare and initialize strings to store the paths of the input PDF and the output PDF/A file.
Criar objeto QPDF para arquivo PDF
QPDF input_pdf;
input_pdf.processFile(input_pdf_path.c_str());
// Create a QPDF object for the input PDF and process the file to prepare it for conversion.
QPDF input_pdf;
input_pdf.processFile(input_pdf_path.c_str());
// Create a QPDF object for the input PDF and process the file to prepare it for conversion.
Criar objeto QPDFWriter para gravação de arquivo PDF/A
QPDFWriter writer(input_pdf, output_pdf_a_path.c_str());
// This creates a QPDFWriter object to handle writing the converted PDF/A file.
QPDFWriter writer(input_pdf, output_pdf_a_path.c_str());
// This creates a QPDFWriter object to handle writing the converted PDF/A file.
Configurar conformidade com PDF/A e converter documentos PDF
writer.setQDFMode(true);
writer.write();
// Set the QPDFWriter to operate in PDF/A compliant mode and write the output file.
writer.setQDFMode(true);
writer.write();
// Set the QPDFWriter to operate in PDF/A compliant mode and write the output file.
Saída
O arquivo de saída não é editável e está em conformidade com o padrão PDF/A:

Convert PDF to PDF/A in C
A biblioteca IronPDF é uma biblioteca .NET para PDF que oferece funcionalidades abrangentes para trabalhar com documentos PDF. Permite que os desenvolvedores criem, modifiquem e convertam documentos PDF usando C# ou VB .NET. Os usuários podem usar o IronPDF para gerar arquivos PDF a partir de HTML, ASPX, documentos do Word (.doc) ou imagens de forma dinâmica e incorporar elementos avançados como gráficos, tabelas e dados de imagem (como formatos JPG e PNG). Permite também a fusão, divisão e edição de páginas de arquivos PDF existentes, além da extração de texto e manipulação de conteúdo de dados PDF.
O IronPDF facilita a conversão de PDFs para o formato padrão PDF/A-3b com apenas algumas linhas de código. O código a seguir ajuda a realizar essa tarefa:
using IronPdf;
// Create a PdfDocument object or open any PDF file
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");
// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);
// The above C# code demonstrates the use of IronPDF to convert a PDF document to a PDF/A-3b compliant file.
using IronPdf;
// Create a PdfDocument object or open any PDF file
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");
// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);
// The above C# code demonstrates the use of IronPDF to convert a PDF document to a PDF/A-3b compliant file.
Imports IronPdf
' Create a PdfDocument object or open any PDF file
Private pdf As PdfDocument = PdfDocument.FromFile("wikipedia.pdf")
' Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3)
' The above C# code demonstrates the use of IronPDF to convert a PDF document to a PDF/A-3b compliant file.
Conclusão
Este artigo orienta você na conversão de um documento PDF padrão para o formato PDF/A usando as bibliotecas QPDF em C++. A conformidade com o formato PDF/A garante a preservação e a acessibilidade do conteúdo, tornando-o ideal para arquivamento.
O IronPDF também suporta várias conversões de formato, como HTML, imagens e documentos do Word para arquivos PDF. Para obter mais informações, visite esta página de documentação do IronPDF .
O IronPDF oferece um teste gratuito para que você possa experimentar todas as funcionalidades em produções comerciais. Baixe o IronPDF diretamente .

