Användningsfall
Den här guiden visar verkliga användningsfall för Aspose.PDF FOSS för C++, inklusive dokumentgenerering, PDF-till-bild-konvertering, textutvinning, säker distribution och AcroForm datainsamling. Biblioteket länkar bara mot C++-standardbiblioteket och kräver en C++20-kompilator.
Dokumentgenerering
Bygg en PDF från grunden genom att lägga till sidor i en ny Document och spara resultatet. Detta mönster ligger till grund för fakturagenerering, certifikatutskrift och produktionspipeline för kontoutdrag:
#include <aspose/pdf/document.hpp>
int main() {
Aspose::Pdf::Document doc;
doc.Pages().Add();
doc.SetTitle("Monthly Report");
doc.Save("report.pdf");
}PDF-till-bild-konvertering
Rendera en sida till en rasterbild för miniatyrer, utskriftsklar output eller visuella regressionsbaslinjer. PngDevice, JpegDevice, BmpDevice och TiffDevice bearbetar var och en en sida åt gången med en given upplösning:
#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);
}Textutvinning och indexering
Extrahera hela texten i ett dokument med TextAbsorber för sökindexering, datautvinningspipelines eller automatiserad innehållsverifiering i testsviter:
#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";
}Säker dokumentdistribution
Kryptera ett dokument med separata användar- och ägarlösenord innan distribution. Användarlösenordet krävs för att öppna filen; ägarlösenordet styr behörigheter såsom utskrift och extrahering av innehåll:
#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 datainsamling
Läs in de inskickade värdena från ett ifyllt PDF-formulär genom att iterera Form.Fields() och skriva ut varje fälts namn och aktuella värde — användbart för att bearbeta ifyllda ansökningsformulär utan en separat formulärinlämningsserver:
#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";
}
}