Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
El Formato de Documento Portátil (PDF) ha sido el formato preferido para compartir documentos a través de varias plataformas. Sin embargo, con la creciente importancia del archivo digital, cada vez es más necesario archivar los documentos en un formato normalizado que garantice su conservación y accesibilidad a largo plazo. El formato PDF/A (PDFA) está específicamente diseñado para este propósito, ofreciendo un formato estable y autónomo que es adecuado para archivo.
PDF/A, una variante de PDF normalizada por ISO, está diseñada para preservar los documentos a lo largo del tiempo, manteniendo la accesibilidad y la integridad del contenido. A diferencia de un archivo PDF normal, un archivo PDF/A tiene restricciones específicas que garantizan su solidez y autosuficiencia.
Este artículo le guiará a través del proceso de conversión de documentos PDF al formato PDF/A utilizando la biblioteca QPDF en C++. QPDF, una potente biblioteca de C++, permite a los desarrolladores gestionar y convertir mediante programación documentos PDF, incluida la conversión de PDF a PDF/A, en tan solo unas líneas de código.
QPDF es una biblioteca en C++ y una herramienta de línea de comandos diseñada para apoyar el trabajo, la transformación y el análisis de archivos PDF. Permite a los desarrolladores acceder y manipular mediante programación el contenido de archivos PDF, con soporte para Word. QPDF es un proyecto de código abierto que ofrece una serie de funciones, como cifrado, descifrado, linealización, optimización y conformidad con PDF/A.
Antes de empezar, asegúrate de tener configurado lo siguiente:
IDE de Code::Blocks: Descargue e instale Code::Blocks desde el sitio web oficial (Sitio oficial de Code::Blocks).
Abre Code::Blocks: Inicia el IDE de Code::Blocks en tu computadora.
Crear un nuevo proyecto: Haga clic en Archivo en el menú superior, luego seleccione Nuevo, seguido de Proyecto.
Elija tipo de proyecto: En la ventana Nuevo a partir de plantilla, elija Aplicación de consola y haga clic en Ir. Seleccione el lenguaje C/C++ y haga clic en Siguiente.
Introduzca los detalles del proyecto: Proporcione un nombre de proyecto en el campo Título del proyecto (p. ej., "PDFtoPDFA"). Elige dónde guardar los archivos del proyecto y haz clic en Siguiente.
Para incluir los archivos de cabecera QPDF en Code::Blocks, siga estos pasos:
Haga clic en Proyecto en el menú.
Seleccione opciones de compilación del menú contextual.
En el diálogo de Opciones de compilación, vaya a la pestaña de Directorios de búsqueda.
En la pestaña Compiler, haga clic en el botón Add y busque en el directorio que contiene los archivos de encabezado de QPDF (generalmente ubicado en la carpeta include).
Luego, en la pestaña Vincular, haga clic en el botón Agregar e incluya los directorios lib y bin.
Haga clic en OK para cerrar el cuadro de diálogo Opciones de compilación.
Además, es necesario establecer una conexión con la biblioteca QPDF durante la fase de vinculación. Sigue estos pasos:
En el diálogo de Opciones de compilación, vaya a la pestaña de Configuración del enlazador.
En Vincular bibliotecas, haga clic en Agregar, luego navegue hasta el directorio con los archivos de la biblioteca QPDF (generalmente con una extensión de archivo .a o .lib en Windows).
Haga clic en Agregar de nuevo e ingrese el nombre de la biblioteca QPDF (p. ej., libqpdf.a o qpdf.lib).
#include <iostream>
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFWriter.hh>
#include <iostream>
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFWriter.hh>
Este código incorpora archivos de encabezado esenciales para trabajar con la entrada/salida estándar de C++ (iostream
) y la biblioteca QPDF.
En la función principal (punto de inicio del programa C++), establece las rutas para los archivos de entrada y salida:
std::string input_pdf_path = "input.pdf";
std::string output_pdf_a_path = "output.pdfa";
std::string input_pdf_path = "input.pdf";
std::string output_pdf_a_path = "output.pdfa";
Estas dos líneas declaran e inicializan dos variables de tipo std::string
. Estas líneas declaran e inicializan variables para las rutas de entrada ("input.pdf") y salida PDF/A ("output.pdfa").
El archivo de entrada es un formulario editable:
QPDF input_pdf;
input_pdf.processFile(input_pdf_path.c_str());
QPDF input_pdf;
input_pdf.processFile(input_pdf_path.c_str());
Se crea un objeto QPDF
llamado input_pdf
. La función processFile
se utiliza en el objeto input_pdf
, pasando la ruta del archivo de entrada como argumento.
QPDFWriter
para escribir archivo PDF/AQPDFWriter writer(input_pdf, output_pdf_a_path.c_str());
QPDFWriter writer(input_pdf, output_pdf_a_path.c_str());
Se crea un objeto QPDFWriter
, writer
, para escribir el archivo de salida PDF/A.
writer.setQDFMode(true);
writer.write();
writer.setQDFMode(true);
writer.write();
Este código establece la conformidad con PDF/A utilizando setQDFMode(true)
en el objeto writer
. La función write()
realiza la conversión en el documento PDF y guarda la salida en un archivo PDF/A.
El archivo de salida no es editable y es compatible con PDF/A:
IronPDF Library es una biblioteca .NET de PDF que ofrece funcionalidades integrales para trabajar con documentos PDF. Permite a los desarrolladores crear, modificar y convertir documentos PDF utilizando C# o VB.NET. Los usuarios pueden utilizar IronPDF para generar archivos PDF a partir de HTML, documentos ASPX, documentos de Word (.doc) o imágenes de forma dinámica e incorporar elementos enriquecidos como gráficos, tablas y datos de imágenes (como formatos JPG, PNG). También permite combinar, dividir y editar páginas de archivos PDF existentes, así como extraer texto y manipular el contenido de los datos PDF.
IronPDF facilita la conversión de PDF al formato estándar PDF/A-3b con solo unas pocas líneas de código. El siguiente código ayuda a realizar esta tarea:
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);
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);
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)
Este artículo le guiará a través de la conversión en C++ de un documento PDF estándar al formato PDF/A utilizando las bibliotecas QPDF. La conformidad con PDF/A garantiza la conservación y accesibilidad de los contenidos, por lo que es ideal para archivar.
IronPDF también admite conversiones de varios formatos, como HTML, imágenes y documentos de Word a archivos PDF. Para obtener más información, por favor visite esta Página de Documentación de IronPDF.
IronPDF ofrece una prueba gratuita de IronPDF para probar la funcionalidad en producción comercial. Descargar IronPDF directamente desde la página principal.