Gebruikssituaties
Deze gids demonstreert praktijkvoorbeelden voor Aspose.PDF FOSS voor C++, inclusief documentgeneratie, PDF-naar-afbeelding conversie, tekstextractie, veilige distributie en AcroForm gegevensverzameling. De bibliotheek linkt alleen tegen de C++-standaardbibliotheek en vereist een C++20-compiler.
Documentgeneratie
Maak een PDF vanaf nul door pagina’s toe te voegen aan een nieuwe Document en het resultaat op te slaan. Dit patroon vormt de basis voor factuurgeneratie, certificaatafdrukken en rapportproductiepijplijnen:
#include <aspose/pdf/document.hpp>
int main() {
Aspose::Pdf::Document doc;
doc.Pages().Add();
doc.SetTitle("Monthly Report");
doc.Save("report.pdf");
}PDF-naar-afbeelding conversie
Render een pagina naar een rasterafbeelding voor miniaturen, afdrukklare output of visuele regressiebaselines. PngDevice, JpegDevice, BmpDevice en TiffDevice verwerken elk één pagina per keer op een gegeven resolutie:
#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);
}Tekstextractie en indexering
Haal de volledige tekst van een document op met TextAbsorber voor zoekindexering, data-mining-pijplijnen of geautomatiseerde inhoudsverificatie in testsuites:
#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";
}Beveiligde documentdistributie
Versleutel een document met afzonderlijke gebruikers- en eigenaarswachtwoorden vóór distributie. Het gebruikerswachtwoord is vereist om het bestand te openen; het eigenaarswachtwoord regelt permissies zoals afdrukken en inhoudsextractie:
#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 Gegevensverzameling
Lees ingediende waarden terug van een ingevuld PDF-formulier door Form.Fields() te itereren en de naam en huidige waarde van elk veld af te drukken — handig voor het verwerken van ingevulde aanvraagformulieren zonder een aparte formulier-indieningsserver:
#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";
}
}