API gratuita de C++ para crear, manipular y analizar archivos PDF.
Una biblioteca líder de código abierto para manipular PDF permite a los desarrolladores C++ crear, manipular, encriptar, gestionar fuentes y analizar documentos PDF sin esfuerzo dentro de aplicaciones C++.
¿Qué es la biblioteca PoDoFo?
En el mundo del desarrollo en C++, la capacidad de crear, modificar y extraer datos de archivos PDF de forma programática es un requisito común. La biblioteca PoDoFo, una biblioteca de código abierto y portátil para C++17, surge como una solución potente y versátil para todo lo relacionado con PDF. PoDoFo está disponible de forma gratuita y está diseñada para trabajar con el formato de archivo PDF. Permite a los desarrolladores de software analizar archivos PDF, inspeccionar entidades PDF de alto nivel (como anotaciones y campos de formulario), modificarlos en memoria y escribir los cambios de vuelta al disco dentro de sus propias aplicaciones. Además, la biblioteca facilita la creación de nuevos PDFs desde cero sin ninguna dependencia externa.
PoDoFo es una robusta biblioteca C++ que permite a los desarrolladores de software trabajar con el Formato de Documento Portátil (PDF) de forma programática. Licenciada bajo LGPL v2.0 o posterior para la biblioteca, y GPL v2.0 o posterior para sus herramientas acompañantes, la biblioteca PoDoFo garantiza flexibilidad y apertura tanto para proyectos comerciales como de código abierto. Proporciona un conjunto amplio de herramientas para analizar, manipular y generar documentos PDF desde cero. Ya sea que necesites automatizar la generación de informes, extraer texto para análisis de datos o añadir firmas digitales por seguridad, PoDoFo ofrece una API completa y flexible que satisface tus necesidades.
Comenzando con PoDoFo
La forma recomendada de instalar PoDoFo es usando CMake. Por favor, utiliza el siguiente comando para una instalación sin problemas.
Instalar PPTXTemplater desde GitHub
vcpkg install fontconfig freetype libxml2 openssl libjpeg-turbo libpng tiff zlib
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build . --config Debug
Instalar PPTXTemplater desde GitHub
git clone https://github.com/podofo/podofo.gitTambién puedes instalarlo manualmente; descarga los archivos de la última versión directamente del repositorio GitHub.
Creación y Modificación de PDF
La biblioteca de código abierto PoDoFo ha incluido soporte completo para la creación y manipulación de documentos PDF dentro de la biblioteca C++. En su núcleo, PoDoFo sobresale en la creación de nuevos documentos PDF y en la modificación de los existentes. Los desarrolladores de software pueden añadir nuevas páginas, dibujar texto e insertar varios elementos gráficos, abrir documentos cifrados con facilidad. El siguiente ejemplo sencillo demuestra cómo los desarrolladores de software pueden crear un documento PDF simple dentro de aplicaciones C++\n\n\n
¿Cómo crear un PDF simple mediante la biblioteca C++?
\n#include \n\nusing namespace PoDoFo;\n\nint main() {\n PdfStreamedDocument document(\"HelloWorld.pdf\");\n PdfPainter painter;\n PdfPage* pPage;\n\n try
¿Cómo cargar y extraer texto de archivos PDF mediante la API de C++?
#include
using namespace PoDoFo;
PdfMemDocument pdf("document.pdf");
int pageCount = pdf.GetPageCount();
for (int i = 0; i < pageCount; ++i) {
PdfPage* page = pdf.GetPage(i);
PdfContentsTokenizer tokenizer(page);
const char* token = nullptr;
PdfVariant var;
EPdfContentsType type;
while (tokenizer.ReadNext(type, token, var)) {
if (type == ePdfContentsType_Keyword) {
printf("Operator: %s\n", token);
} else if (type == ePdfContentsType_Variant) {
// Examine var as needed
}
}
}
¿Agregar Firmas Digitales a PDF mediante la API de C++?
La seguridad es primordial al tratar documentos oficiales. La biblioteca PoDoFo admite la incorporación de firmas digitales a archivos PDF, garantizando la autenticidad e integridad de sus documentos. Esto es particularmente útil para contratos, facturas y otros documentos legales. Aunque un ejemplo completo de firma digital es complejo y requiere un certificado válido, el siguiente código conceptual ilustra el proceso.
¿Cómo agregar una firma digital a PDF mediante C++?
// Conceptual Code - Not a complete working example
#include
using namespace PoDoFo;
int main() {
PdfMemDocument document("unsigned.pdf");
PdfPage* pPage = document.GetPage(0);
// Create a signature field
PdfSignatureField sigField(pPage,
PdfRect(100, pPage->GetPageSize().GetHeight() - 100, 200, 50),
&document);
// Set signature properties
// ...
// Sign the document using a custom signer implementation
// MySigner signer("my_certificate.pfx", "password");
// document.Sign(sigField, signer);
document.Write("signed.pdf");
return 0;
}
Manejo de Fuentes y Soporte Unicode
La biblioteca gratuita PoDoFo ofrece un soporte robusto para varios tipos de fuentes, incluidas las fuentes TrueType y Type1. La biblioteca también gestiona la subconfiguración de fuentes, lo que ayuda a reducir el tamaño de archivo de los PDFs generados. Además, su excelente soporte Unicode garantiza que pueda trabajar con una amplia gama de idiomas y conjuntos de caracteres. Soporte completo para la firma de PDF (cumplimiento PAdES-B), cifrado RSA/ECDSA y flujos de trabajo de firma asíncronos o diferidos.