オープン ソース C++ API を介して PDF を生成
PDF ファイルを作成、編集、操作、解析するためのオープンソース C++ ライブラリ。
PDFライターとは?
PDF-Writer は、PDF ファイルとストリームの作成、編集、操作、解析を完全にサポートするオープン ソースの C++ ライブラリです。ライブラリは、PDF ファイルを生成する主要な「1 回限り」の方法で開発されました。そのため、ファイルがどれだけ大きくなっても、高速に動作し、メモリの使用量が少なくなります。したがって、小さな PDF ファイルを作成するか、大きな PDF ドキュメントを生成することをお勧めします。
PDF にコンテンツを追加することは常に非常に重要であり、開発者がカスタム PDF を生成するのに役立ちます。このライブラリには、PDF ページの作成、コンテンツを描画するための PDF 演算子、JPG または PNG および TIFF 画像の埋め込み、PDF の変更、PDF のマージまたは分割、PDF ファイルのレンダリング、PDF からのデータ抽出など、PDF ファイルを処理するためのいくつかの重要な機能のサポートが含まれています。 、Unicode テキストのサポート、TrueType および OpenType フォントのサポートなどがあります。
PDFライター入門
ライブラリとサンプル アプリケーションをビルドするための推奨される方法は、CMake を使用することです。 CMake の Web サイトから入手できます。ライブラリは、Zlib、LibTiff、LibJpeg、FreeType、および LibPng に依存しています。これは、リンクされたコンテキストで PDF ライブラリを使用する前に、それらもコンパイルする必要があることを意味します。
手動でインストールすることもできます。 GitHub リポジトリから最新のリリース ファイルを直接ダウンロードします。
C++ による PDF の生成と変更
ソフトウェア開発者は、PDF-Writer API を使用して、独自の C++ アプリケーション内で新しい PDF ファイルを生成できます。このライブラリは、開発者が自分のニーズに応じて変更することも容易にします。 JPG、PNG、および TIFF 画像を簡単に埋め込み、再利用可能なオブジェクトを定義し、既存の PDF ページやテキストを簡単に埋め込むことができます。既存の PDF ページをページとして PDF に追加するか、新しく作成したページのグラフィックに含めるパーツとして使用できます。以下の手順で簡単にPDFを生成できます。
C++ で PDF を生成
- PDFWriter オブジェクトのインスタンスを作成します
- 書き込み用に PDF ファイルを開く
- 次に、コンテンツを PDF に追加します。
- PDF文書を保存
C++ での PDF 生成
// Create an instance of the PDFWriter objec
PDFWriter pdfWriter;
// Open a PDF file for writing
pdfWriter.StartPDF("c:\\myFile.pdf",ePDFVersion13);
// ...add content to PDF file...
pdfWriter.EndPDF();
PDF ドキュメントに新しいページを追加する
PDF-Writer ライブラリを使用すると、新しいページを追加し、PDF ドキュメント内でそのサイズを設定できます。非常に簡単で、PDF ファイルに新しいページを追加するには、数行の C++ コードしか必要としません。このライブラリは、開発者が既存のページを変更したり、ページを削除したりする機能も提供します。作成済みの PDF ページにコンテンツを追加することもできます。
PDF ドキュメントへの画像の埋め込み
PDF-Writer ライブラリは、TIFF、PNG、および JPG 画像と PDF ページの埋め込みをサポートします。あらゆる種類の画像に一般的な高レベルのメソッドがあります。それとは別に、画像を高度に使用するための低レベルのメソッドがいくつかあります。ネイティブ DCT デコーダーによる JPG 画像、LibPng によるデコードによる PNG、LibTiff によるエンコード/デコードによる TIFF 画像のサポートを提供しています。
C++ による PDF への画像の埋め込み
pdfWriter.StartPDF("HighLevelImages.PDF",ePDFVersion13);
PDFPage* page = new PDFPage();
page->SetMediaBox(PDFRectangle(0,0,595,842));
PageContentContext* cxt = pdfWriter.StartPageContentContext(page);
cxt->DrawImage(10,10,"soundcloud_logo.jpg"));
pdfWriter.EndPageContentContext(cxt);
pdfWriter.WritePageAndRelease(page);
pdfWriter.EndPDF();
さまざまな PDF ドキュメントの結合
オープン ソースの PDF コンバイナー API を使用すると、ユーザーは数行のコードを使用するだけで、外部に依存することなく複数の PDF ドキュメントをすばやく結合できます。 PDF-Writer により、ソフトウェア開発者は、既存の PDF ファイルから新しい PDF ドキュメントを生成することができます。これにより、ユーザーは PDF ドキュメントをより簡単に保存および確認できます。
C++ による PDF ページ コンテンツの結合
PDFPage* page = new PDFPage();
page->SetMediaBox(PDFRectangle(0,0,595,842));
PDFPageRange singlePageRange;
singlePageRange.mType = PDFPageRange::eRangeTypeSpecific;
singlePageRange.mSpecificRanges.push_back(ULongAndULong(0,0));
pdfWriter.MergePDFPagesToPage(page,"C:\\Other2PagePDF.PDF",singlePageRange);
pdfWriter.WritePageAndRelease(page);