PDF Prep Tool Suite テキスト追加C++サンプル

PDF文書にテキスト・コンテント、画像、ベクタ・グラフィックスを追加します。 さらに、インターラクティブな要素(ハイパー・リンク、フォーム・フィールド、ブックマークなど)を追加し処理します。
PDF文書は、新たに生成することができます。プロパティ(位置、フォント、サイズ、色など)は自由に選択できます。 作成されたPDF文書には、暗号化やWebの表示用に最適化が施されます。
無償評価版のダウンロードとインストール
ライブラリ(評価版API)は無償でダウンロード(試用)できますので、PDF Prep Tool Suiteダウンロード手順を参照してダウンロードください。
ファイルをダウンロードしてから、インストールもしくは適当なフォルダーに解凍します。以下のようなフォルダーができあがりますので、適宜ご利用ください。
ご注意ください:サンプル(英語版)はPDF Tools AG社のページからダウンロードできますが、それを動作させるためにはコードの変更が必要な場合があります。
以下のサンプルは、正しい動作を確認しています。ソースコードはこちらからダウンロードできます。
無償評価版と共にダウンロードしたライセンスキーをbin/LicenseManager.exeを使って登録してください。 ライセンスキーの登録方法はこちらです。
サンプルの実行前に、bin/pdprep32.dll、bin/Img2PdfAPI.dllをサンプル実行イメージと同じフォルダーにコピーしてください。文字化けする場合は、bin/pdcjk.dllも同様にコピーしてください。ファイルをダウンロードしてから、インストールもしくは適当なフォルダーに解凍します。以下のようなフォルダーができあがりますので、適宜ご利用ください。
bin | ライブラリやライセンスマネージャーなど |
doc | 使用説明書やjavadocなど |
include | C/C++用のヘッダー(.h)ファイル |
jar | PrepTool.jar、I2PA.jar(Javaのラッパー) |
lib | C/C++用のlibファイル |
以下のサンプルは、正しい動作を確認しています。ソースコードはこちらからダウンロードできます。
無償評価版と共にダウンロードしたライセンスキーをbin/LicenseManager.exeを使って登録してください。 ライセンスキーの登録方法はこちらです。
COMインターフェースで利用する場合は、bin/pdprep32.dll、bin/Img2PdfAPI.dllをregsvr32.exeを使って登録してください。なお、64ビット版Windowsの場合は、WOW64/regsvr32.exeを使って登録してください。
テキストを追加するC++サンプルと解説
PDF文書にテキストフィールドを追加して、新しいPDF文書を作成するサンプルです。
#include <stdio.h> #include "pdprep.h" #pragma comment(lib,"pdprep32.lib") int main(int argc, char* argv[]) { PTError TheError; Handle doc; InputHandle in; float box[] = {50.0f, 250.0f, 200.0f, 40.0f}; // {X-axis,Y-axis, width, height} // 引数チェック if(argc < 3){ printf("usage: flatten PDF-InputFile PDF-OutputFile\n"); return 1; } // 初期化 PTInitialize(); // 新しいPDF文書を作成し、入力のPDFをオープン doc = PDocNew(argv[2], 0, 0, &TheError); PDocInputOpen(doc,argv[1]); in = PDocGetInputHandle(doc); // テキストフィールド "field1"を追加し、データをセットする IDocAddTextField(in,"field1", "", box, 1, 4, 12.0f, 0, 4096, 4, 0, 0xa0ffa0, 0, 0x000000); PDocInputSetFormData(doc,"field1", "ABCD EFGH IKJK LMNO PQRS TUVW XYZ", 4096, 4); // flattenを有効にする PDocSetFlatten(doc, 1, PTFlattenVisibleOrPrintable); // すべてをコピーして文書を閉じる PDocInputCopyAll(doc); PDocClose(doc); return 0; }
このサンプルでは、以下の手順でPDFを作成します。
- 初期化
- 出力のPDF作成
- 入力のPDFを開く
- テキストフィールドを作成し文字列をセットする
- 外観を変更する
- すべてのページをコピー
- PDFを閉じる
PTInitialize | 初期化 | ||||||||
PDocNew( ) | 出力のPDF文書生成とそのハンドルを取得 引数に以下の値を設定します。
|
||||||||
PDocInputOpen( ) | 入力PDFを開く 引数に以下の値を設定します。
|
||||||||
PDocGetInputHandle( ) | 入力PDFのハンドル取得 引数にPDF文書のハンドルを設定します。 |
||||||||
IDocAddTextField( ) | テキストフォームを追加 | ||||||||
PDocInputSetFormData( ) | テキストフォームにデータを設定 | ||||||||
PDocSetFlatten( ) | フォームフィールドを除去し他のコンテンツと同等にする 指定したフォームはその機能を失い、他のコンテンツ同様の形態に変わります。 |
||||||||
PDocInputCopyAll( ) | 入力PDFのすべてのページを出力PDFにコピー 引数に、出力PDFのハンドルを設定します。 |
サンプルコード
C++ PDF Prep Tool Suite サンプル (MS Visual Studio 2008 Project) PtsCppSamples.zip
ご質問、お問い合わせ
(記載の会社名および製品名は、各社の登録商標および商標です。)