PDFファイルを作成、操作、解析するための無料C++ API。
主要なオープンソースPDF操作ライブラリは、C++開発者がC++アプリ内でPDF文書を簡単に作成、操作、暗号化、フォント管理、解析できるようにします。
PoDoFoライブラリとは?
C++ 開発の世界では、プログラムで PDF ファイルを作成、変更、データ抽出できることは一般的な要件です。オープンソースでポータブルな C++17 ライブラリである PoDoFo は、PDF に関するあらゆることに対する強力で多用途なソリューションとして浮上します。PoDoFo は無料で利用でき、PDF ファイル形式の操作を目的に設計されています。開発者は PDF ファイルを解析し、アノテーションやフォームフィールドなどの高レベルな PDF エンティティを検査し、メモリ内でそれらを変更し、変更をディスクに書き戻すことが自分のアプリケーション内で可能です。また、このライブラリを使用すれば、外部の依存なしで新しい PDF をゼロから作成することも容易です。
PoDoFo は、ソフトウェア開発者がプログラムから Portable Document Format (PDF) を操作できるようにする、堅牢な C++ ライブラリです。ライブラリは LGPL v2.0 以降、付属ツールは GPL v2.0 以降でライセンスされており、商用プロジェクトとオープンソースプロジェクトの両方に柔軟性とオープン性を提供します。PDF ドキュメントをゼロから解析、操作、生成するための豊富なツールセットを提供します。レポートの自動生成、データ分析のためのテキスト抽出、またはセキュリティのためのデジタル署名の追加が必要な場合でも、PoDoFo は包括的で柔軟な API を提供し、ニーズに応えます。
PoDoFo 入門
PoDoFo のインストールには CMake を使用することが推奨されています。スムーズなインストールのために、以下のコマンドをご利用ください。
GitHub から PPTXTemplater をインストール
vcpkg install fontconfig freetype libxml2 openssl libjpeg-turbo libpng tiff zlib
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build . --config Debug
GitHub から PPTXTemplater をインストール
git clone https://github.com/podofo/podofo.git手動でインストールすることもできます。最新のリリースファイルは GitHub リポジトリから直接ダウンロードしてください。
PDF の作成と変更
オープンソースの PoDoFo ライブラリは、C++ ライブラリ内で PDF ドキュメントの
C++ API を使用して PDF ファイルを読み込み、テキストを抽出する方法は?
#include
using namespace PoDoFo;
PdfMemDocument pdf("document.pdf");
int pageCount = pdf.GetPageCount();
for (int i = 0; i < pageCount; ++i) {
PdfPage* page = pdf.GetPage(i);
PdfContentsTokenizer tokenizer(page);
const char* token = nullptr;
PdfVariant var;
EPdfContentsType type;
while (tokenizer.ReadNext(type, token, var)) {
if (type == ePdfContentsType_Keyword) {
printf("Operator: %s\n", token);
} else if (type == ePdfContentsType_Variant) {
// Examine var as needed
}
}
}
C++ API を使用して PDF にデジタル署名を追加しますか?
公式文書を扱う際にはセキュリティが最重要です。PoDoFo ライブラリは PDF ファイルへのデジタル署名の追加をサポートし、文書の真正性と完全性を確保します。これは契約書、請求書、その他の法的文書に特に有用です。完全なデジタル署名の例は複雑で有効な証明書が必要ですが、以下の概念的なコードがそのプロセスを示しています。
C++ を使用して PDF にデジタル署名を追加する方法は?
// Conceptual Code - Not a complete working example
#include
using namespace PoDoFo;
int main() {
PdfMemDocument document("unsigned.pdf");
PdfPage* pPage = document.GetPage(0);
// Create a signature field
PdfSignatureField sigField(pPage,
PdfRect(100, pPage->GetPageSize().GetHeight() - 100, 200, 50),
&document);
// Set signature properties
// ...
// Sign the document using a custom signer implementation
// MySigner signer("my_certificate.pfx", "password");
// document.Sign(sigField, signer);
document.Write("signed.pdf");
return 0;
}
フォント処理と Unicode サポート
無料の PoDoFo ライブラリは、TrueType や Type1 フォントを含むさまざまなフォントタイプに対して強力なサポートを提供します。ライブラリはフォントのサブセット化も処理し、生成された PDF のファイルサイズ削減に役立ちます。さらに、優れた Unicode サポートにより、幅広い言語や文字セットで作業できます。PDF 署名(PAdES-B 準拠)、RSA/ECDSA 暗号化、非同期または遅延署名ワークフローにも完全に対応しています。