トラスト・ソフトウェア・システム
トラスト・ソフトウェア・システム

PDF Prep Tool Suite C++暗号化サンプル

「PDF Prep Tool Suite」ソフトは、PDF文書を作成、編集、分割、統合するためのAPI(ライブラリ)です。

PDF文書にテキスト・コンテント、画像、ベクタ・グラフィックスを追加します。 さらに、インターラクティブな要素(ハイパー・リンク、フォーム・フィールド、ブックマークなど)を追加し処理します。

PDF文書は、新たに生成することができます。プロパティ(位置、フォント、サイズ、色など)は自由に選択できます。 作成されたPDF文書には、暗号化やWebの表示用に最適化が施されます。

機能概要はこちらです。
無償評価版(リンク先は英語)はこちらです。 ダウンロード手順
他のC++サンプルC#サンプルを公開しています。
PDF Prep Tool Suite ソフト 購入(価格)

無償評価版のダウンロードとインストール

 ライブラリ(評価版API)は無償でダウンロード(試用)できますので、PDF Prep Tool Suiteダウンロード手順を参照してダウンロードください。
 ファイルをダウンロードしてから、インストールもしくは適当なフォルダーに解凍します。以下のようなフォルダーができあがりますので、適宜ご利用ください。
binライブラリやライセンスマネージャーなど
doc使用説明書やjavadocなど
includeC/C++用のヘッダー(.h)ファイル
jarPrepTool.jar、I2PA.jar(Javaのラッパー)
libC/C++用のlibファイル
ご注意ください:サンプル(英語版)はPDF Tools AG社のページからダウンロードできますが、それを動作させるためにはコードの変更が必要な場合があります。
以下のサンプルは、正しい動作を確認しています。ソースコードはこちらからダウンロードできます。

無償評価版と共にダウンロードしたライセンスキーをbin/LicenseManager.exeを使って登録してください。 ライセンスキーの登録方法はこちらです。

サンプルの実行前に、bin/pdprep32.dll、bin/Img2PdfAPI.dllをサンプル実行イメージと同じフォルダーにコピーしてください。文字化けする場合は、bin/pdcjk.dllも同様にコピーしてください。
COMインターフェースで利用する場合は、bin/pdprep32.dll、bin/Img2PdfAPI.dllをregsvr32.exeを使って登録してください。なお、64ビット版Windowsの場合は、WOW64/regsvr32.exeを使って登録してください。

C++のサンプルと解説

 PDF文書を暗号化した新たなPDF文書を作成するサンプルです。
#include <stdio.h>
#include <stdlib.h>
#include "pdprep.h"

#pragma comment(lib,"pdprep32.lib")

int main(int argc, char* argv[])
{
    PTError     TheError;
    Handle      doc;
    char*       security;

    // 引数チェック
    if(argc < 3){
        printf("usage: encrypt PDF-InputFile PDF-OutputFile [128]\n");
        return 1;
    }

    // 初期化
    PTInitialize();

    // 出力ファイルを生成し、入力ファイルをオープンする
    doc = PDocNew(argv[2], 0, 0, &TheError);
    PDocInputOpen(doc,argv[1]);

    // 指定されていれば、128ビットのセキュリティを有効にする
    if(argc > 3){
        if(atoi(argv[3])==128) security = "pcsa5";
    }
    else
        security = "pcsa";

    // セキュリティフラグ:
    //   p: do not print the document from Acrobat
    //   c: changing the document is denied in Acrobat
    //   s: selection and copying of text and graphics is denied
    //   a: adding or changing annotations or form fields is denied
    //   5: enforce 128 bit encryption
    //   The following flags are defined for 128 bit encryption (PDF 1.4, Acrobat 5.0):
    //   i: disable editing of form fields
    //   e: disable extraction of text and graphics
    //   d: disable document assembly
    //   q: disable high quality printing
    //

    // セキュリティ指定
    PDocSecurity(doc, "test", "test", security);

    // すべてをコピーして文書を閉じる
    PDocInputCopyAll(doc);
    PDocClose(doc);
    return 0;
}
このサンプルでは、以下の手順でPDFを作成します。
  1. 初期化
  2. 出力のPDF作成
  3. 暗号化するPDFを開く
  4. 暗号化の設定
  5. すべてのページをコピー
  6. PDFを閉じる
PTInitialize 初期化
PDocNew( ) 出力のPDF文書生成とそのハンドルを取得
引数に以下の値を設定します。
第一引数作成するPDF文書のファイル(パス)名
第二引数作成するPDF文書のページ幅(ポイント単位)
第三引数作成するPDF文書のページ高さ(ポイント単位)
第四引数エラーコードが格納されるインスタンス
PDocInputOpen( ) 入力PDFを開く
引数に以下の値を設定します。
第一引数PDF文書のハンドル
第二引数入力PDF文書ファイル(パス)名
PDocSecurity( ) PDF文書にセキュリティを設定
引数に以下の値を設定します。
第一引数PDF文書のハンドル
第二引数オーナーパスワード
第三引数ユーザーパスワード
第四引数セキュリティ・フラグ
以下の値を設定できます。
設定値セキュリティ
pAcrobatから印刷禁止
cAcrobatでの文書変更禁止
s文字列やグラフィックスの選択とコピーの禁止
a注釈とフォームへの変更禁止
iフォームフィールドの編集機能無効
eテキストとグラフィックスの取出機能無効
d文書組立機能無効
q高解像度印刷機能無効
5
128ビット暗号化指定
i,e,d,q は128ビット暗号を指定した場合のみ
PDocInputCopyAll( ) 入力PDFのすべてのページを出力PDFにコピー
引数に、出力PDFのハンドルを設定します。

サンプルコード

 C++ PDF Prep Tool Suite サンプル (MS Visual Studio 2008 Project) PtsCppSamples.zip

ご質問、お問い合わせ

 メールで support@TrustSS.co.jp 宛てにお送りください。
または、質問のページからお送りいただくようお願いします。ご要望も承っております。(匿名で送れます。)

(記載の会社名および製品名は、各社の登録商標および商標です。)
PDF製品 C++サンプル
PDF Security
PDF Validator
PDF to PDF/A Converter
PDF to Image Converter
PDF Imager-LP
Image to PDF Converter
PDF Printer
PDF Viewer
PDF Viewer-L
PDF Prep Tool Suite
PDF Optimization
PDF Command Line Suite
PDF Extract
PDF Easy Parse
株)トラスト・ソフトウェア・システム
暗号化・電子署名・タイムスタンプ ライブラリ作成します。
お問い合わせください。