Případy použití
Tato příručka ukazuje reálné příklady použití Aspose.PDF FOSS pro C++, včetně generování dokumentů, převodu PDF na obrázek, extrakce textu, bezpečného šíření a sběru dat AcroForm. Knihovna je linkována pouze s knihovnou standardu C++ a vyžaduje kompilátor C++20.
Generování dokumentů
Vytvořte PDF od nuly přidáním stránek do nového Document a uložením výsledku. Tento vzor je základem generování faktur, tisku certifikátů a pipeline výroby výpisů:
#include <aspose/pdf/document.hpp>
int main() {
Aspose::Pdf::Document doc;
doc.Pages().Add();
doc.SetTitle("Monthly Report");
doc.Save("report.pdf");
}Převod PDF na obrázek
Vykreslete stránku do rastrového obrázku pro náhledy, výstup připravený k tisku nebo vizuální regresní základny. PngDevice, JpegDevice, BmpDevice a TiffDevice zpracovávají každou stránku samostatně při daném rozlišení:
#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);
}Extrahování textu a indexování
Extrahujte celý text dokumentu pomocí TextAbsorber pro indexování vyhledávání, datové těžební pipeline nebo automatizovanou kontrolu obsahu v testovacích sadách:
#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";
}Bezpečná distribuce dokumentů
Zašifrujte dokument s oddělenými uživatelskými a vlastnickými hesly před distribucí. Uživatelské heslo je vyžadováno pro otevření souboru; vlastnické heslo řídí oprávnění, jako je tisk a extrakce obsahu:
#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 Sběr dat
Přečtěte odeslané hodnoty zpět z vyplněného PDF formuláře iterací Form.Fields() a výpisem názvu každého pole a jeho aktuální hodnoty — užitečné pro zpracování vyplněných přihláškových formulářů bez samostatného serveru pro odesílání formulářů:
#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";
}
}