PDF Tools ホーム > PDF Tools ライト > PDF Image-LP概要 > C++サンプル > 単一画像に複数ページを縮小して作成

PDF Imager-LP 単一画像に複数ページ画像作成 C++サンプルと解説

PDF Imager-LPは、PDF文書を画像(TIFF、JPEG、PNG)に変換するライトなライブラリです。
機能を限定してお求めやすくしました。 (PDF Imager-LP概要は、こちらです。)

PDF Imager-LP 購入(価格)


ここでは、PDFの複数ページを1つの画像に変換するサンプルを示します。
単一ページを単一画像に変換する C++サンプルC#サンプル はこちらです。
複数のページで構成されたTIFF画像に変換する C++サンプルC#サンプル はこちらです。


他のサンプル:
 C++、 C#、 VB.net


ダウンロード:
PDF Imager-LPの無償体験版は、以下からダウンロードできます。無償体験版は、製品版と同じ機能が使えます。
利用許諾契約書をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾に同意したものとみなします。
評価利用では、ライセンスキーが必要ですので一緒にダウンロードしてください。


高機能な、画像変換ライブラリ「PDF to Image Converter」は、こちらです。

インストール

ライブラリは、無償でダウンロードおよび試用できます。 ダウンロードしてから、適当なフォルダーに解凍してください。以下のようなフォルダーができますので適宜ご利用ください。

docライブラリ説明書、利用許諾契約書
includeC/C++用ヘッダー(.h)ファイル
VB6.0用モジュール
lib.NET用ラッパーDLLおよびDLLライブラリ、Libファイル
sampleC/C++言語、C#/VB.NET言語および
Visual Basic 6.0サンプル

サンプル実行前に、lib/PdfImagerLP.dllをサンプルの実行イメージと同じフォルダーにコピーしてください。

PDFの複数ページを縮小して単一画像に変換する C++サンプルコード

PDFの複数ページを縮小してから単一の画像に貼り付けるC++のサンプルコードです。(C#はこちら)

単一のページを単一の画像に変換する C++サンプルC#サンプル はこちらです。
複数のページを単一のTIFF画像に変換する C++サンプルC#サンプル はこちらです。

#include "ImagerLp.h"
#pragma comment(lib, "PdfImagerLP.lib")

int main(int argc, char* argv[])
{
    //初期化
    if(MlpInitialize("ライセンスキー")){
        printf("ライセンスキーが不正です。正しいライセンスキーを使用してください。");
        return 1;
    }

    //PDF文書オープン
    if(MlpOpenDoc("ファイル.pdf", NULL, NULL)){
        printf("PDFファイルをオープンできません。");
        return 2;
    }

    //ページ画像の解像度
    MlpSetPictureResolution(72 / 2);    /* 0%サイズ指定(省略可) */

    //フレーム設定 (この項目は省略可)
    MlpSetPictureAddFrame(1);
    MlpSetPictureFrameWidth(2);
    MlpSetPictureFrameRGB(0, 0, 0);
    MlpSetPictureFrameGray(0.5f);
    MlpSetPictureFrameAlpha(0.3f);

    //パネル
    if(!MlpCreatePanel(100, 1300, MLP_PICTURE_RGB)){
        int     xSpan=50, ySpan=50;
        int     panelX=xSpan, panelX=xSpan;

        MlpCreatePictMem(1);                         //第1ページを画像化
        MlpMemPictToPanel(panelX, panelY, 1.0f);     //パネルに貼り付け
        panelX += mlp.GetPicturePixelX(1) + xSpan;

        MlpCreatePictMem(2);                         //第2ページを画像化
        MlpMemPictToPanel(panelX, panelY, 1.0f);     //パネルに貼り付け
        panelX = xSpan;
        panelY += mlp.GetPicturePixelY(2) + ySpan;

        MlpCreatePictMem(3);                         //第3ページを画像化
        MlpMemPictToPanel(panelX, panelY, 1.0f);     //パネルに貼り付け
        panelX += mlp.GetPicturePixelX(3) + xSpan;

        MlpCreatePictMem(4);                         //第4ページを画像化
        MlpMemPictToPanel(panelX, panelY, 1.0f);     //パネルに貼り付け

        //パネルデータを画像ファイルに変換
        MlpPanelToFile("Panelfs.png");
    }

    //文書クローズ
    MlpCloseDoc();

    //後始末
    MlpUninitialize();

    return 0;
}
MlpInitialize 初期化
引数にライセンスキーを指定します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
MlpOpenDoc PDFファイルを開く
指定したファイルが画像への変換対象になります。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数に以下を指定します。
第一引数PDFファイル名
第二引数オーナーパスワード(パスワードで暗号化されている場合)、またはNULL
第三引数ユーザーパスワード(パスワードで暗号化されている場合)、またはNULL
MlpCreatePanel ページ画像を貼り付ける画像を生成します。
この画像を「パネル」と称します。このパネルに複数のページ画像を貼り付けます。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数に以下を指定します。
第一引数パネル画像の横幅画素数
第二引数パネル画像のライン数(縦の画素数)
第三引数PICTURE_RGB(カラー)またはPICTURE_GRAY(グレースケール)
MlpCreatePictureMem ページ画像をメモリーに作成します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数にはページ番号を指定します。
MlpMemPictToPanel メモリーに作成したページ画像をパネルに貼り付けます。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数に以下を指定します。
第一引数ページ画像を貼り付けるパネルの横位置(X座標)
第二引数ページ画像を貼り付けるパネルの縦位置(Y座標)
第三引数ページ画像の不透明度(0~1.0)を指定します。0は透明、1.0は不透明です。
MlpGetPicturePixelX 指定ページの幅(横方向)画素数を取得します。
引数にはページ番号を指定します。
MlpGetPicturePixelY 指定ページの高さ(縦方向)画素数を取得します。
引数にはページ番号を指定します。
MlpPanelToFile パネルを画像ファイルとして作成します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数には作成するファイル名を指定します。ファイル名の拡張子によって画像形式が以下のように選択されます。
拡張子画像形式
.pngPNG(Porable Network Graphics)形式
.jpegまたは.jpgJPEG(Joint Photographic Experts Group)形式
.tiffまたは.tifTIFF(Tagged Image File Format)形式
MlpCloseDoc 開いたPDFファイルを閉じます。
MlpUninitialize 終了します。

エラーコード

以下のエラーコードが戻ります。

MLP_ALREADY_INITIALIZED既に初期化されています。
MLP_NOT_INITIALIZED初期化できない、もしくは、初期化していない場合。
MLP_INIT_FILE_OPEN_ERROR初期化ファイルを読めません。
MLP_LICENSE_ERROR不正なライセンスキーもしくは、評価用ライセンスキーの期限切れです。
MLP_ALREADY_OPENED既にPDF文書をオープンしています。
MLP_FILE_OPEN_ERROR指定のPDF文書をオープンできません。
MLP_FILE_IS_NOT_PDFPDF文書として解析できません。
MLP_FILE_NOT_DECRYPTEDPDF文書が暗号化されていますが、指定のパスワードでは復号できません。
MLP_FILE_NOT_OPENEDPDF文書がオープンされていません。
MLP_PDF_PARSE_ERRORPDFの解析中にエラーとなりました。
MLP_PDF_HAS_NOT_PAGE指定のPDF文書にはページがありません。
MLP_INVALID_PAGE_NUMBER指定したページの番号は無効です。
MLP_INVALID_RESOLUTION指定された解像度は無効です。
MLP_INVALID_QUALITY指定されたJPEG品質は無効です。
MLP_NO_OUTPUT_FILE出力ファイルが指定されていません。または、指定の出力ファイルの形式(拡張子)が無効です。
MLP_TOO_LARGE_PIXEL作成しようとしている画像が大きすぎます。
MLP_DRAW_ERROR画像作成用のメモリー領域を確保できません。

無償評価版およびサンプル

PDF Imager-LPの無償体験版は、以下からダウンロードできます。無償体験版は、製品版と同じ機能が使えます。
利用許諾をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾に同意したものとみなします。
評価利用では、ライセンスキーが必要ですので一緒にダウンロードしてください。


サンプル ソースコード

サンプルのソースコードは、以下をダウンロードしてください。(Visual Studio2008プロジェクト)

ご質問、お問い合わせ

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




PDF Imager-LPサンプル

C++

C#

VB.NET

VB6.0