Cas d'utilisation
Ce guide présente des cas d’utilisation réels pour Aspose.PDF FOSS pour C++, incluant la génération de documents, la conversion PDF-vers-image, l’extraction de texte, la distribution sécurisée et la collecte de données AcroForm. La bibliothèque ne dépend que de la bibliothèque standard C++ et nécessite un compilateur C++20.
Génération de documents
Créez un PDF à partir de zéro en ajoutant des pages à un nouveau Document et en enregistrant le résultat. Ce modèle sous-tend la génération de factures, l’impression de certificats et les pipelines de production d’états:
#include <aspose/pdf/document.hpp>
int main() {
Aspose::Pdf::Document doc;
doc.Pages().Add();
doc.SetTitle("Monthly Report");
doc.Save("report.pdf");
}Conversion PDF-vers-image
Rendez une page en image raster pour les miniatures, la sortie prête à l’impression ou les bases de régression visuelle. PngDevice, JpegDevice, BmpDevice et TiffDevice traitent chacun une page à la fois à une résolution donnée:
#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);
}Extraction de texte et indexation
Extraire le texte complet d’un document avec TextAbsorber pour l’indexation de recherche, les pipelines de data-mining ou la vérification automatisée du contenu dans les suites de tests :
#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";
}Distribution sécurisée de documents
Chiffrer un document avec des mots de passe utilisateur et propriétaire distincts avant la distribution. Le mot de passe utilisateur est requis pour ouvrir le fichier; le mot de passe propriétaire contrôle les autorisations telles que l’impression et l’extraction de contenu :
#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 Collecte de données
Lire les valeurs soumises à partir d’un formulaire PDF rempli en itérant Form.Fields() et en affichant le nom et la valeur actuelle de chaque champ — utile pour traiter les formulaires de candidature remplis sans serveur de soumission de formulaire distinct :
#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";
}
}