PDF to Image Converter 画像化PDFに変換するC++サンプルと解説

PDF to Image Converter 画像化PDFに変換

「PDF to Image Converter」は、PDF文書を単一(TIFF、JPEG他)または、複数ページの画像(TIFF)または、画像化されたPDFに変換する機能をアプリケーションに追加するライブラリ(API)です。

機能特徴
  • 単一または複数の画像を生成
  • 画像フォーマット:TIFF、JPEG、JBIG2、JPEG2000、PNG、GIF、BMP など
  • ラスタライズされたPDF文書を作成可能
  • PDF文書の復号と暗号化可能
  • 画像フィルター(スーパーサンプリング、バイキュービック、バイリニア)の設定でエイリアスやモアレを低減
  • 色空間(グレースケール、RGB、CMYK、インデックス)選択可
  • 解像度、色数 設定
  • 非可逆圧縮やロスレスJPEG2000またはJBG2圧縮を選択可
  • 画質やサイズ(非可逆圧縮)の最適化
  • ハーフトーン方式(Floyd Steinberg、half-tone matrixなど)を選択可
  • 微細なテキスト文字の線幅を太くする
日本語マニュアル( HTML形式PDF形式 )をご参照ください。

PDF to Image Converter 機能概要はこちらです。

他の開発言語によるサンプル( C#VB6Javaコマンドライン(shell) )を公開しています。
無償評価版(リンク先は英語)はこちらです。
価格見積り
PDFを画像に変換するライブラリの機能を限定した廉価(低価格)版を参照してください。

C++サンプルC#サンプルVB.NETサンプル

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

 ライブラリ(評価版API)は無償でダウンロード(試用)できます。
 ファイルをダウンロードしてから、インストールもしくは適当なフォルダーに解凍します。以下のようなフォルダーができあがりますので、適宜ご利用ください。
binライブラリやライセンスマネージャーなど
doc使用説明書やjavadocなど
includeC/C++用のヘッダー(.h)ファイル
jarP2IA.jar,PCIA.jar(Javaのラッパー)
libC/C++用のlibファイル
samples各種開発言語のサンプル
サンプルの実行前に、bin/Pdf2ImgOCX.dll、bin/Pdf2PdfImgOCX.dllをサンプル実行イメージと同じフォルダーにコピーしてください。また、無償評価版と共にダウンロードしたライセンスキーをbin/LicenseManager.exeを使って登録してください。 ライセンスキーの登録方法はこちらです。なお、ライセンスキーはプログラミングで指定できます。ソースコードを参照してください。
日本語マニュアルZIP形式PDF形式HTML形式)は、インストーラには含まれていませんのでこちらからダウンロードしてください。

画像化(ラスタライズ)PDFに変換するC++サンプルと解説

PDF文書をラスター画像に変換して、テキストやベクター画像などを取り出せなくします。
ラスター化された画像のPDF文書に変換するC++のサンプル・コードです。PDFのすべてのページがそれぞれ画像に変換されたPDF文書を生成します。 変換されたPDFは変換前のPDFのリンク(内部やWebなど)やしおり、その他の情報がコピーされます。また、それら情報コピーの抑制もできます。
#pragma comment(lib,"Pdf2PdfImgOCX.lib")

int main()
{
    // 初期化
    Pdf2PdfImgInitialize();

    // インスタンスを生成
    TPdf2Img* pDocument;
    pDocument = Pdf2PdfImgCreateObject();

    // ライセンス指定
    // ライセンスマネージャを使わない場合は、以下で指定します。
    //Pdf2PdfImgSetLicenseKey("ライセンスキー");  //適切なライセンスキーに替えます。

    // ページの回転設定
    // 従来のレンダリングエンジンの場合に必要です。
    //Pdf2PdfImgSetRotateMode(pDocument, eRotateAttribute);

    // 変換
    Pdf2PdfImgConvertFile("input.pdf", "output.pdf", "");

    return 0;
}
Pdf2ImgInitialize 初期化
Pdf2ImgCreateObject PDF文書を扱うインスタンスを生成
戻り値がハンドルとなります。
Pdf2ImgSetLicenseKey ライセンスキーを指定
ライセンスマネージャではなく、プログラムで指定します。引数には、適切なライセンスキーを指定します。
Pdf2ImgSetRotateMode ページの回転モードをを指定
第二引数にページの回転モードを指定します。
eRotateAttribute が既定値です。
Pdf2ImgConvertFile PDF文書を画像化されたPDFに変換します。
PDF文書が複数のページで構成されている場合には複数ページ構成のPDFが生成されます。
第二引数:入力(変換前)のPDFファイル名 (インターネット上のPDFファイルを指定する場合
第三引数:出力(変換後)のPDFファイル名
第四引数:PDFデータの暗号化パスワード
パスワードを指定しない場合は、空の文字列を指定します。
第二引数入力(変換前)のPDFファイル名 (インターネット上のPDFファイルを指定する場合
第三引数出力(変換後)のPDFファイル名
第四引数PDFデータの暗号化パスワード
パスワードを指定しない場合は、空の文字列を指定します。

ページを指定して画像化(ラスタライズ)PDFに変換するサンプル(C++)と解説

PDF文書の特定ページをラスター画像に変換して、テキストやベクター画像などを取り出せなくします。
ページを指定して、ラスタライズ画像のPDF文書に変換するサンプル・コードです。 PDFの指定したページが画像に変換されたPDF文書を生成します。 変換されたPDFは変換前のPDFが持っているリンク(内部やWebなど)やしおり、その他の情報がコピーされます。また、それら情報コピーの抑制もできます。
#pragma comment(lib,"Pdf2PdfImgOCX.lib")

int main()
{
    // 初期化
    Pdf2PdfImgInitialize();

    // インスタンスを生成
    TPdf2Img* pDocument;
    pDocument = Pdf2PdfImgCreateObject();

    // ライセンス指定
    // ライセンスマネージャを使わない場合は、以下で指定します。
    //Pdf2PdfImgSetLicenseKey("ライセンスキー");  //適切なライセンスキーに替えます。

    // ページの回転設定
    // 従来のレンダリングエンジンの場合に必要です。
    //Pdf2PdfImgSetRotateMode(pDocument, eRotateAttribute);

    // 入力PDFを開く
    Pdf2PdfImgOpen(pDocument, "input.pdf", "");

    // 出力ファイルを指定
    Pdf2PdfImgCreateImage(pDocument, "output.pdf", "", "", -1, 40);

    // ページを変換
    Pdf2PdfImgGetPageCount(pDocument, &pages);
    for(iPage = 1; iPage <= pages; iPage++) Pdf2PdfImgRenderPage(pDocument, iPage);

    // 出力ファイルを閉じる
    Pdf2PdfImgCloseImage(pDocument);

    // インスタンスを開放
    Pdf2PdfImgClose(pDocument);
    Pdf2PdfImgDestroyObject(pDocument);
    Pdf2PdfImgUnInitialize();

    return 0;
}
Pdf2ImgInitialize 初期化
Pdf2ImgCreateObject PDF文書を扱うインスタンスを生成
戻り値がハンドルとなります。
Pdf2ImgSetLicenseKey ライセンスキーを指定
ライセンスマネージャではなく、プログラムで指定します。引数には、適切なライセンスキーを指定します。
Pdf2ImgOpen 入力のPDFを開きます。
第二引数:入力の(変換される)PDFファイル (インターネット上のPDFファイルを指定する場合
第三引数:PDFデータの暗号化パスワード
パスワードを指定しない場合は、空の文字列を指定します。
第二引数入力の(変換される)PDFファイル (インターネット上のPDFファイルを指定する場合
第三引数PDFデータの暗号化パスワード
パスワードを指定しない場合は、空の文字列を指定します。
Pdf2ImgGetPageCount PDF文書の総ページ数を取得
Pdf2PdfImgCreateImage 出力のPDFを生成します。
第二引数:出力(変換後)のPDFファイル名
第三引数:出力PDFデータの(暗号化)ユーザーパスワード
暗号化しない場合は、空の文字列を指定します。
第四引数:出力PDFデータの(暗号化)オーナーパスワード
暗号化しない場合は、空の文字列を指定します。
第五引数:出力PDFデータのパーミッション(許可)フラグ
すべて許可する場合は-1とします。
第六引数:暗号化の鍵長
8の倍数で40から128まで指定できます。
第二引数出力(変換後)のPDFファイル名
第三引数出力PDFデータの(暗号化)ユーザーパスワード
暗号化しない場合は、空の文字列を指定します。
第四引数出力PDFデータの(暗号化)オーナーパスワード
暗号化しない場合は、空の文字列を指定します。
第五引数出力PDFデータのパーミッション(許可)フラグ
すべて許可する場合は-1とします。
第六引数暗号化の鍵長
8の倍数で40から128まで指定できます。
Pdf2ImgRenderPage 画像に変換するPDFのページを指定
第二引数にPDFのページ番号を必要な順に指定します。

サンプルコード

 C++ PDF to Image サンプル (MS Visual Studio 2008 Project) P2I_Samples_v2.zip

ご質問、お問い合わせ

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

PDF-Tools C++サンプル

PDF Toolsとは

PDF/Aとは