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用モジュール
libDLLライブラリおよびLibファイル、JARファイル
sampleC#/VB.NET言語、C/C++言語、Visual Basic6.0サンプル、
Javaサンプル

サンプルの実行前に、lib/PdfImagerLPNET.dllを参照設定に追加し、lib/PdfImagerLP.dllを必要なフォルダーにコピーしてください。

PDFの複数ページを切り抜いて単一画像に変換する C#サンプルと解説

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

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

using System;
using PDFTools.PdfImagerLP;

namespace onePanel
{
    class onePanel
    {
        static void Main(string[] args)
        {
            //初期化
            PdfImager mlp = new PdfImager();
            if (mlp.Initialize("") != 0)     //正しいライセンスキーに書き換えてください。
            {
                Console.WriteLine("初期化に失敗しました。");
                Environment.Exit(2);
            }

            //PDF文書オープン
            if (mlp.OpenDoc("hello.pdf", "", "") != err.MLP_NO_ERROR)
            {
                Console.WriteLine("PDFファイル'{0}'を開けませんでした。","hello.pdf");
                Environment.Exit(3);
            }

            //解像度
            mlp.SetPictureResolution(72 * 1);  //100%サイズ指定(省略可)

            //フレーム (この項目は省略可)
            mlp.SetPictureAddFrame(true);
            mlp.SetPictureFrameWidth(5);
            mlp.SetPictureFrameRGB(1.0, 0.0, 0.0);
            mlp.SetPictureFrameGray(1.5f);
            mlp.SetPictureFrameAlpha(0.3f);

            //パネル
            if (mlp.CreatePanel(600, 400, PictureOpt.PICTURE_RGB) == 0)
            {
                int panelX = 50;
                int panelY = 50;

                mlp.CreatePictMem(1);                       //第1ページを画像化
                mlp.MemPictToPanel(panelX, panelY, 0.3f);   //パネルに貼り付け

                {
                    //第1ページを切り抜いてパネルに貼り付け
                    int bboxX = 100, bboxY = 80;
                    int bboxW = 210, bboxH = 145;
                    byte[] color = new byte[3] { 150, 190, 220 };
                    mlp.MemPictToPanelBBox(panelX + bboxX, panelY + bboxY, 1.0f,
                                           bboxX, bboxY, bboxW, bboxH);
                    mlp.PaintRectToPanel(panelX + bboxX, panelY + bboxY,
                                         bboxW, bboxH, 3, color);
                }
            }

            //パネルデータを画像ファイルに変換
            mlp.PanelToFile("panelrc.png");

            //文書クローズ
            mlp.CloseDoc();

            //後始末
            mlp.Uninitialize();
        }
    }
}
Initialize 初期化
引数にライセンスキーを指定します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
OpenDoc PDFファイルを開く
指定したファイルが画像への変換対象になります。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数に以下を指定します。
第一引数PDFファイル名
第二引数オーナーパスワード(パスワードで暗号化されている場合)、またはnull
第三引数ユーザーパスワード(パスワードで暗号化されている場合)、またはnull
SetPictureResolution ページを指定の解像度で画像に変換します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数はインチあたりの画素数(DPI、Dot Per Inch)で指定します。100%サイズに変換する場合は72を指定します。省略した場合は150DPIが利用されます。
SetPictureAddFrame ページ画像にフレーム(枠)を追加します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
フレームはページ境界の内側に描画されます。
引数は1(真:フレーム追加)または0(偽:フレームを追加しない)を指定します。
SetPictureFrameWidth ページ画像に追加するフレームの線幅を指定します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数にフレームの画素数を指定します。
SetPictureFrameRGB ページ画像に追加するフレームの線色を指定します。(ページ画像がRGBカラーの場合)
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数には赤、緑、青の各値(0~1.0)を指定します。
SetPictureFrameGray ページ画像に追加するフレームのグレースケール値を指定します。(ページ画像がグレースケールの場合)
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数にはグレースケール値(0~1.0)を指定します。
SetPictureFrameAlpha ページ画像に追加するフレームの不透明度を指定します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数には不透明度(0~1.0)を指定します。0は透明、1.0は不透明です。
CreatePanel ページ画像を貼り付ける画像を生成します。
この画像を「パネル」と称します。このパネルに複数のページ画像を貼り付けます。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数に以下を指定します。
第一引数パネル画像の横幅画素数
第二引数パネル画像のライン数(縦の画素数)
第三引数PICTURE_RGB(カラー)またはPICTURE_GRAY(グレースケール)
CreatePictureMem ページ画像をメモリーに作成します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数にはページ番号を指定します。
MemPictToPanel メモリーに作成したページ画像をパネルに貼り付けます。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数に以下を指定します。
第一引数ページ画像を貼り付けるパネルの横位置(X座標)
第二引数ページ画像を貼り付けるパネルの縦位置(Y座標)
第三引数ページ画像の不透明度(0~1.0)を指定します。0は透明、1.0は不透明です。
MemPictToPanelBBox メモリーに作成したページ画像の境界を指定してパネルに貼り付けます。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数に以下を指定します。
第一引数ページ画像を貼り付けるパネルの横位置(X座標)
第二引数ページ画像を貼り付けるパネルの縦位置(Y座標)
第三引数ページ画像の不透明度(0~1.0)を指定します。0は透明、1.0は不透明です。
第四引数ページ画像を切り取る境界の横位置(X座標)
第五引数ページ画像を取る境界の縦位置(Y座標)
第六引数ページ画像を取る境界の幅
第七引数ページ画像の取る境界の高さ
PaintRectToPanel パネルに矩形を描画します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数に以下を指定します。
第一引数矩形を描画するパネルの横位置(X座標)
第二引数矩形を描画するパネルの縦位置(Y座標)
第三引数矩形を描画するパネルの幅
第四引数矩形を描画するパネルの高さ
第五引数矩形を描画する際の線幅(画素数)
第六引数矩形を描画する際の色配列(RGBまたはグレースケール値)
PanelToFile パネルを画像ファイルとして作成します。
成功すると、0(ゼロ)が戻ります。それ以外はエラーです。
引数には作成するファイル名を指定します。ファイル名の拡張子によって画像形式が以下のように選択されます。
拡張子画像形式
.pngPNG(Porable Network Graphics)形式
.jpegまたは.jpgJPEG(Joint Photographic Experts Group)形式
.tiffまたは.tifTIFF(Tagged Image File Format)形式
CloseDoc 開いたPDFファイルを閉じます。
Uninitialize 終了します。

エラー コード

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

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