Casos de uso
Esta guía muestra casos de uso reales del FOSS Aspose.PDF para C++, incluyendo generación de documentos, conversión de PDF a imagen, extracción de texto, distribución segura y recopilación de datos AcroForm. La biblioteca se enlaza únicamente con la biblioteca estándar de C++ y requiere un compilador C++20.
Generación de documentos
Cree un PDF desde cero añadiendo páginas a un nuevo Document y guardando el resultado. Este patrón sustenta la generación de facturas, la impresión de certificados y las canalizaciones de producción de estados de cuenta:
#include <aspose/pdf/document.hpp>
int main() {
Aspose::Pdf::Document doc;
doc.Pages().Add();
doc.SetTitle("Monthly Report");
doc.Save("report.pdf");
}Conversión de PDF a Imagen
Renderice una página a una imagen raster para miniaturas, salida lista para imprimir o bases de referencia de regresión visual. PngDevice, JpegDevice, BmpDevice y TiffDevice procesan cada una una página a una resolución determinada:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/png_device.hpp>
#include <aspose/pdf/resolution.hpp>
#include <fstream>
int main() {
Aspose::Pdf::Document doc("input.pdf");
Aspose::Pdf::Devices::PngDevice png(Aspose::Pdf::Devices::Resolution(150));
std::ofstream out("page1.png", std::ios::binary);
png.Process(doc.Pages()[1], out);
}Extracción de texto e indexación
Extrae el texto completo de un documento con TextAbsorber para la indexación de búsqueda, pipelines de minería de datos o verificación automatizada de contenido en suites de pruebas:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/text_absorber.hpp>
#include <iostream>
int main() {
Aspose::Pdf::Document doc("input.pdf");
Aspose::Pdf::Text::TextAbsorber absorber;
absorber.Visit(doc);
std::cout << absorber.Text() << "\n";
}Distribución segura de documentos
Encripta un documento con contraseñas de usuario y propietario separadas antes de la distribución. La contraseña de usuario es necesaria para abrir el archivo; la contraseña de propietario controla permisos como imprimir y extraer contenido:
#include <aspose/pdf/document.hpp>
int main() {
Aspose::Pdf::Document doc("report.pdf");
doc.Encrypt("user-password", "owner-password",
Aspose::Pdf::Permissions(),
Aspose::Pdf::CryptoAlgorithm::AESx256);
doc.Save("report-secured.pdf");
}AcroForm Recopilación de datos
Lee los valores enviados de nuevo desde un formulario PDF rellenado iterando Form.Fields() y mostrando el nombre y el valor actual de cada campo — útil para procesar formularios de solicitud completados sin un servidor de envío de formularios separado:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/forms/form.hpp>
#include <iostream>
int main() {
Aspose::Pdf::Document doc("submitted-form.pdf");
auto& form = doc.Form();
for (auto* field : form.Fields()) {
std::cout << field->PartialName() << " = " << field->Value() << "\n";
}
}