Ir para o conteúdo do rodapé
FERRAMENTAS DE PDF

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:

  1. Code::Blocks IDE: Baixe e instale o Code::Blocks a partir do site oficial ( Site oficial do Code::Blocks ).
  2. 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

  1. Abra o Code::Blocks: Inicie o ambiente de desenvolvimento integrado (IDE) Code::Blocks no seu computador.
  2. Criar um novo projeto: Clique em Arquivo no menu superior e selecione Novo , seguido de Projeto .
  3. 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 .
  4. 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 .
  5. 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:

  1. Clique em Projeto no menu.
  2. Selecione Opções de compilação no menu de contexto.
  3. Na caixa de diálogo Opções de compilação , acesse a guia Pesquisar diretórios .
  4. 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 ).
  5. Em seguida, na guia Link , clique no botão Adicionar e inclua os diretórios lib e bin .
  6. 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:

  1. Na caixa de diálogo Opções de compilação , acesse a guia Configurações do vinculador .
  2. 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).
  3. Clique em Adicionar novamente e insira o nome da biblioteca QPDF (por exemplo, libqpdf.a ou qpdf.lib ).
  4. 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.
C++

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.
C++

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.
C++

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.
C++

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.
C++

Saída

O arquivo de saída não é editável e está em conformidade com o padrão PDF/A:

Como converter PDF para PDF/A em C++: Figura 2

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.
$vbLabelText   $csharpLabel

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 .

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim