ユースケース
ユースケース
このガイドでは、Aspose.PDF FOSS for C++ の実際のユースケースとして、ドキュメント生成、PDF から画像への変換、テキスト抽出、セキュア配布、そして AcroForm データ収集を示します。ライブラリは C++ 標準ライブラリ以外に何もリンクせず、C++20 コンパイラが必要です。
ドキュメント生成
新しい Document にページを追加し、結果を保存することで、PDF をゼロから構築します。このパターンは請求書生成、証明書印刷、ステートメント作成パイプラインの基盤となります:
#include <aspose/pdf/document.hpp>
int main() {
Aspose::Pdf::Document doc;
doc.Pages().Add();
doc.SetTitle("Monthly Report");
doc.Save("report.pdf");
}PDF から画像への変換
サムネイル、印刷用出力、またはビジュアル回帰ベースラインのために、ページをラスタ画像にレンダリングします。PngDevice、JpegDevice、BmpDevice、および TiffDevice は、指定された解像度でそれぞれ1ページずつ処理します:
#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);
}テキスト抽出とインデックス作成
検索インデックス作成、データマイニングパイプライン、またはテストスイートにおける自動コンテンツ検証のために、TextAbsorber を使用してドキュメントの全文を抽出します:
#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";
}安全な文書配布
配布前に、ユーザーパスワードとオーナーパスワードを別々に設定して文書を暗号化します。ユーザーパスワードはファイルを開くために必要で、オーナーパスワードは印刷やコンテンツ抽出などの権限を管理します:
#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 データ収集
PDFフォームに入力された値を Form.Fields() でイテレートし、各フィールドの名前と現在の値を出力して読み戻します — 別途フォーム送信サーバーを用意せずに、記入済み応募フォームの処理に便利です:
#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";
}
}