PDF Imager-LP PDF文書のOCG(レイヤー)を選択して画像変換 サンプル

PDF Imager-LP PDFのOCG(レイヤー)を選択して変換 サンプルと解説

PDF Imager-LPは、PDF文書を画像(TIFF、JPEG、PNG、BMP)に変換するライブラリです。( PDF Imager-LP概要

 価格見積り

オンライン画像変換で確認してください。

ここでは、PDFの指定したページを画像に変換するサンプルを示します。

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

PDFImagerLP-1_9_1.zip(体験版パッケージ)
体験版(評価)用 ライセンスキー"0-033E-E03H59976R74" [評価用ライセンスキー] (無償)

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

インストール


C# 開発環境 C/C++ 開発環境 Python 開発環境
ライブラリは無償でダウンロードでき、全機能を試用できます。
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
docライブラリ説明書、利用許諾契約書
includeC/C++用ヘッダー(.h)ファイル
libDLLライブラリ、Libファイル
sampleC/C++言語、C#/VB.NET言語 および、
Windowsアプリケーション(C++およびC#)
サンプルはlib/PdfImagerLPNET.dllおよびlib/x64/PdfImagerLP.dll(またはlib/Win32/PdfImagerLP.dll)を参照しますので、適切なフォルダーにコピーしてください。
サンプルはlib/x64/PdfImagerLP.dll(またはlib/Win32/PdfImagerLP.dll)を参照しますので、適切なフォルダーにコピーしてください。
サンプルはPdfImagerLP.pyを使用し、lib/[x64またはWin32]/_PdfImagerLP.pydおよびlib/[x64またはWin32]/PdfImagerLP.dllを参照しますので、適切なフォルダーにコピーするか、以下のような手順でPython DLLの検索パスを設定してください。
import sys
if sys.maxsize > 2**32:
    sys.path.insert(1,'[Imager-LPインストールフォルダー名]/lib/x64')
else:
    sys.path.insert(1,'[Imager-LPインストールフォルダー名]/lib/Win32')

OCGの表示・非表示を設定するサンプルコード

PDF文書のOCG(Optional Content Groups;レイヤー)の表示・非表示を設定するサンプルコードです。

以下のようなOCGを持ったPDF文書のレイヤーの表示・非表示を指定して変換します。


文書を開いた状態

全レイヤーを表示した状態

C# C/C++ Python 他のサンプル ダウンロード
#include "ImagerLP.h"
#pragma comment(lib, "PdfImagerLP.lib")

int main()
{
    int         i, len;

    //初期化
    if(MlpInitialize("0-033E-E03H59976R74")){
        printf("ライセンスキーが不正です。正しいライセンスキーを使用してください。");
        return 1;
    }

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

    //OCG(レイヤー)の総数
    len = MlpGetOcgCount();
    printf("OCG Count = %d\n", len);

    //OCGデータを取得
    MlpOcgData *ocg;
    MlpGetOcgData(&ocg);

    //すべてのOCG(レイヤー)の状態表示、および非表示への変更
    for(i = 0; i < len; i++){
        printf("%d, %s, %d, %s\n",
                ocg[i].id, ocg[i].name, ocg[i].level, ocg[i].visible?"表示":"非表示");
        ocg[i].visible = 0;  //非表示にする
    }
    MlpSetOcgState(ocg);

    //画像作成
    MlpCreatePict(1, "out.jpg");  //最初のページを画像に変換

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

    //後始末
    MlpUninitialize();

    return 0;
}
MlpInitialize初期化
 引数にライセンスキー"0-033E-E03H59976R74" (評価用ライセンスキー) を指定します。
MlpOpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード
 第三引数:ユーザーパスワード
MlpGetOcgCountOCGの総数を取得
MlpOcgDataOCGデータが格納される構造体
 id : OCGの識別番号
 name : OCG名
 lavel : ラベル名
 visible : 1(True)の場合に表示指定
MlpGetOcgDataOCGデータを取得
 引数にOCGデータが戻る
MlpSetOcgDataOCGデータを設定
 引数に設定するOCGデータ
MlpCreatePictページを画像に変換
 第一引数:画像にするページ番号
 第二引数:画像のパス名
   画像の形式は拡張子で判断
MlpCloseDocPDF文書をクローズ
MlpUninitializeライブラリの終了
C# C/C++ Python 他のサンプル ダウンロード
using System;
using PDFTools.PdfImagerLP;

namespace Ocg
{
    class Ocg
    {
        static void Main()
        {
            //インスタンス生成
            PdfImager imgr = new PdfImager("0-033E-E03H59976R74");

            //オープン
            if (imgr.OpenDoc("in.pdf", null, null) != err.MLP_NO_ERROR)
            {
                Console.WriteLine("PDFファイルを開けません。");
                Environment.Exit(3);
            }

            //OCGの総数
            int len = imgr.GetOcgCount();
            Console.WriteLine("OCG総数 = {0}", len);

            //OCGを取得
            OcgData[] ocg = imgr.GetOcgData();

            //OCGの表示・非表示設定
            for (int i = 0; i < len; i++)
            {
                Console.WriteLine("{0}, {1}, {2}, {3}",
                    ocg[i].id, ocg[i].name, ocg[i].level, ocg[i].visible==0?"非表示":"表示");
                //すべてのOCG(レイヤー)を非表示にする
                ocg[i].visible = 0;
            }
            imgr.SetOcgState(ocg);

            //画像作成
            imgr.CreatePict(1, "out.jpg");      //先頭のページを画像に変換

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

            //後始末
            imgr.Uninitialize();
        }
    }
}
Initialize初期化
 引数にライセンスキー"0-033E-E03H59976R74" (評価用ライセンスキー) を指定します。
OpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード
 第三引数:ユーザーパスワード
GetOcgCountOCGの総数を取得
OcgDataOCGデータが格納される構造体
 id : OCGの識別番号
 name : OCG名
 lavel : ラベル名
 visible : 1(True)の場合に表示指定
GetOcgDataOCGデータを取得
 引数にOCGデータが戻る
SetOcgDataOCGデータを設定
 引数に設定するOCGデータ
CreatePictページを画像に変換
 第一引数:画像にするページ番号
 第二引数:画像のパス名
   画像の形式は拡張子で判断
CloseDocPDF文書をクローズ
Uninitializeライブラリの終了
C# C/C++ Python 他のサンプル ダウンロード
import PdfImagerLP

#インスタンス生成
mlp = PdfImagerLP.Mlp();

#初期化
if mlp.Initialize("0-033E-E03H59976R74") < 0:
    print("ライセンスキーが不正です。");
    exit()

#オープン
if mlp.OpenDoc("in.pdf") < 0:
    print("PDFファイルを開けません。")
else:
    #OCGの総数
    cnt = mlp.GetOcgCount();
    print("OCG総数 =", cnt);

    #OCGを取得
    ocg = mlp.GetOcgData();

    #OCGの表示・非表示
    for i in range(len(ocg)):
        print("OCG:", ocg[i].id, ocg[i].name, ocg[i].level, ocg[i].visible)

    #変更
    #mlp.SetOcgState(ocg);

    #画像作成
    mlp.CreatePict(1, "out.jpg");      #先頭のページを画像に変換

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

#後始末
mlp.Uninitialize();
Initialize初期化
 引数にライセンスキー"0-033E-E03H59976R74" (評価用ライセンスキー) を指定します。
OpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード(省略可)
 第三引数:ユーザーパスワード(省略可)
GetOcgCountOCGの総数を取得
OcgDataOCGデータが格納される構造体
 id : OCGの識別番号
 name : OCG名
 lavel : ラベル名
 visible : 1(True)の場合に表示指定
GetOcgDataOCGデータを取得
 引数にOCGデータが戻る
SetOcgDataOCGデータを設定
 引数に設定するOCGデータ
CreatePictページを画像に変換
 第一引数:画像にするページ番号
 第二引数:画像のパス名
   画像の形式は拡張子で判断
CloseDocPDF文書をクローズ
Uninitializeライブラリの終了

変換結果:
全レイヤーを表示
全レイヤーを非表示
入力のPDF文書はこちらです。

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

PDF Imager-LPの無償体験版は、以下からダウンロードできます。無償体験版は、製品版と同じ機能が使えます。
利用許諾をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾に同意したものとみなします。
評価利用では、ライセンスキーが必要です。
PDFImagerLP-1_9_1.zip(体験版パッケージ)
体験版(評価)用 ライセンスキー"0-033E-E03H59976R74" [評価用ライセンスキー] (無償)

サンプル ソースコード:サンプルのソースコードは以下をダウンロードしてください。
PDFImagerLP_samples_1_9_1.zip

オンラインでPDF文書を画像に変換

オンラインでPDFファイルを画像に変換します。

画像形式:

RGB:
CMYK:
Grayscale:


 

ご質問、お問い合わせ

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

PDF Toolsライト

PDF Imager-LPサンプル

PDF 構文解説

(ISO32000-1より)

PDF Tools C++サンプル