Casi d'uso
Questa guida dimostra casi d’uso reali per Aspose.PDF FOSS per C++, includendo la generazione di documenti, la conversione PDF-to-image, l’estrazione di testo, la distribuzione sicura e la raccolta dati AcroForm. La libreria si collega solo alla libreria standard di C++ e richiede un compilatore C++20.
Generazione di documenti
Crea un PDF da zero aggiungendo pagine a un nuovo Document e salvando il risultato. Questo modello è alla base della generazione di fatture, della stampa di certificati e dei flussi di produzione di estratti conto:
#include <aspose/pdf/document.hpp>
int main() {
Aspose::Pdf::Document doc;
doc.Pages().Add();
doc.SetTitle("Monthly Report");
doc.Save("report.pdf");
}Conversione PDF-to-Image
Renderizza una pagina in un’immagine raster per miniature, output pronto per la stampa o baseline di regressione visiva. PngDevice, JpegDevice, BmpDevice e TiffDevice elaborano ciascuna una pagina a una data risoluzione:
#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);
}Estrazione di testo e indicizzazione
Estrai il testo completo di un documento con TextAbsorber per l’indicizzazione della ricerca, pipeline di data mining o verifica automatica del contenuto nei suite di test:
#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";
}Distribuzione sicura dei documenti
Cifra un documento con password separate per utente e proprietario prima della distribuzione. La password utente è necessaria per aprire il file; la password proprietario controlla le autorizzazioni come la stampa e l’estrazione del contenuto:
#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 Raccolta dati
Leggi i valori inviati da un modulo PDF compilato iterando Form.Fields() e stampando il nome e il valore corrente di ogni campo — utile per elaborare moduli di domanda compilati senza un server di invio separato:
#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";
}
}