HERRAMIENTAS PDF

Cómo convertir PDF a PDFA en C++

Publicado en 14 de noviembre, 2023
Compartir:

El formato de documento portátil (PDF) ha sido el formato de referencia para compartir documentos a través de diversas 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 PDF/A (PDFA) está diseñado específicamente para este fin, ya que ofrece un formato estable y autónomo adecuado para el archivado.

Comprender PDF/A

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, el archivo PDF/A viene con 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 documentos PDF mediante programación, incluida la conversión de PDF a PDF/A en sólo unas líneas de código.

Biblioteca C++ QPDF

QPDF es una biblioteca C++ y una herramienta de línea de comandos diseñada para trabajar con archivos PDF, transformarlos y analizarlos. 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.

Requisitos previos

Antes de empezar, asegúrate de tener configurado lo siguiente:

  1. Code::Blocks IDE: Descarga e instala Code::Blocks desde la web oficial (http://www.codeblocks.org/).

  2. Biblioteca QPDF: Descargue la última versión de la biblioteca QPDF para su sistema operativo desde el sitio web de QPDF. (https://qpdf.sourceforge.io/).

Creación de un proyecto PDF a PDF/A

  1. Abra Code::Blocks: Inicie el IDE de Code::Blocks en su ordenador.

  2. Crear un nuevo proyecto: Haga clic en Archivo en el menú superior, luego seleccione Nuevo, seguido de Proyecto.

  3. 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**.

  4. Introduzca el nombre del proyecto en el campo Título del proyecto. (por ejemplo, "PDFtoPDFA".). Elija dónde guardar los archivos del proyecto y haga clic en Siguiente**.

  5. Seleccionar compilador: Elija un compilador y, si es necesario, seleccione manualmente uno de la lista. Haga clic en Finalizar.

Añadir QPDF al proyecto

Para incluir los archivos de cabecera QPDF en Code::Blocks, siga estos pasos:

  1. Haga clic en Proyecto en el menú.

  2. Seleccione Opciones de construcción en el menú contextual.

  3. En el cuadro de diálogo Opciones de compilación, vaya a la pestaña Buscar directorios.

  4. En la pestaña Compilador, haga clic en el botón Añadir y busque el directorio que contiene los archivos de cabecera QPDF (normalmente se encuentra en la carpeta include.).

  5. A continuación, en la pestaña Enlace, haga clic en el botón Añadir e incluya los directorios lib y bin.

  6. Haga clic en Aceptar para cerrar el cuadro de diálogo Opciones de construcción.

    Además, es necesario establecer una conexión con la biblioteca QPDF durante la fase de vinculación. Sigue estos pasos:

  7. En el cuadro de diálogo Opciones de construcción, vaya a la pestaña Configuración del enlace.

  8. En Link Libraries, haga clic en Add, luego busque el directorio con los archivos de biblioteca QPDF (normalmente con una extensión de archivo .a o .lib en Windows).

  9. Haga clic de nuevo en Añadir e introduzca el nombre de la biblioteca QPDF (Por ejemplo, libqpdf.a o qpdf.lib.).

  10. Haga clic en Aceptar para cerrar el cuadro de diálogo Opciones de construcción.

Pasos para convertir un PDF en un archivo PDF/A

Incluya los archivos de cabecera necesarios

#include <iostream>
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFWriter.hh>

Este código incorpora archivos de cabecera esenciales para trabajar con la entrada/salida estándar de C++ (iostream) y la biblioteca QPDF.

Establecer rutas para los archivos de entrada y salida

En la función principal (punto de partida del programa C)Establecer rutas para los archivos de entrada y salida:

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 de entrada ("entrada.pdf") y salida PDF/A ("salida.pdfa") caminos.

Fichero de entrada

El archivo de entrada es un formulario editable:

Cómo convertir PDF a PDF/A en C++: Figura 1

Crear objeto QPDF para archivo PDF

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.

Crear objeto QPDFWriter para escribir archivos PDF/A

QPDFWriter writer(input_pdf, output_pdf_a_path.c_str());

Se crea un objeto QPDFWriter, writer, para escribir el archivo PDF/A de salida.

Establecer la conformidad PDF/A y convertir documentos PDF

writer.setQDFMode(true);
writer.write();

Este código establece la conformidad PDF/A mediante setQDFMode(verdadero)en el objetowriter`. La "escritura()realiza la conversión de un documento PDF y guarda el resultado en un archivo PDF/A.

Salida

El archivo de salida no es editable y es compatible con PDF/A:

Cómo convertir PDF a PDF/A en C++: Figura 2

Convierte PDF a PDF/A en C#

IronPDF es una biblioteca PDF .NET que proporciona funciones completas 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 documentos HTML, ASPX y Word. (.doc)o imágenes de forma dinámica, e incorporar elementos enriquecidos como gráficos, tablas e imágenes. (como los formatos JPG, PNG) datos. 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 a PDF/A-3b estándar con 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)
VB   C#

Conclusión

Este artículo guía a través de la conversión en C++ de un documento PDF estándar a 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 más información, visite sitio.

IronPDF proporciona un prueba gratuita para probar la funcionalidad de la producción comercial. Puede descargar el programa desde aquí.

< ANTERIOR
Cómo ver archivos PDF en un teléfono Android
SIGUIENTE >
Cómo añadir números de página a un archivo PDF

¿Listo para empezar? Versión: 2024.10 acaba de salir

Descarga gratuita de NuGet Descargas totales: 11,173,334 Ver licencias >