PDF Imager-LP PDF文書からオブジェクトを抽出

PDF Imager-LP

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

 価格見積り

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

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

インストール


C#開発環境 C/C++開発環境 Python開発環境
ライブラリは無償でダウンロードおよび試用できます。
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
docライブラリ説明書、利用許諾契約書
includeC/C++用ヘッダー(.h)ファイル
libDLLライブラリ、Libファイル
sampleC/C++言語、C#言語サンプル および、
Windowsアプリケーション(C++およびC#)
サンプルはlib/x64/PdfImagerLP.dll(またはlib/Win32/PdfImagerLP.dll)およびlib/PdfImagerLP.dllを参照しますので、適切なフォルダーにコピーしてください。

C#開発環境 C/C++開発環境 Python開発環境
ライブラリは無償でダウンロードおよび試用できます。
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
docライブラリ説明書、利用許諾契約書
includeC/C++用ヘッダー(.h)ファイル
libDLLライブラリ、Libファイル
sampleC/C++言語、C#言語サンプル および、
Windowsアプリケーション(C++およびC#)
サンプルはlib/x64/PdfImagerLP.dll(またはlib/Win32/PdfImagerLP.dll)を参照しますので、適切なフォルダーにコピーしてください。

C#開発環境 C/C++開発環境 Python開発環境
ライブラリは無償でダウンロードおよび試用できます。
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
docライブラリ説明書、利用許諾契約書
includeC/C++用ヘッダー(.h)ファイル
libDLLライブラリ、Libファイル
sampleC/C++言語、C#言語サンプル および、
Windowsアプリケーション(C++およびC#)
サンプルはモジュール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')

PageTreeオブジェクトを抽出

PDF文書から最上位のPageTreeオブジェクトを抽出するサンプルコードです。

このサンプルはHelloWorld.pdfから抽出します。このPDFの内容はHelloWorld.txtです。

C# C/C++ Python 他のサンプル ダウンロード
#include "ImagerLP.h"

#define PRETTY  1   //改行して見やすく

int main()
{
    // 初期化(ライセンスキー)
    if (MlpInitialize("0-0G57-2374R5R276GE")) {
        printf("License error\n");
        return 100;
    }

    // 入力ファイルをオープン
    if (MlpOpenDoc("HelloWorld.pdf", "", "") <= 0) {

        // Primitive インターフェース
        PRIMITIVE_HANDLE h = MlpGetPrimitiveInterface();

        // ページツリー
        PrmShowPageTree(h, PRETTY);

        // クローズ
        PrmCloseInterface(h);
        MlpCloseDoc();
    }

    //後始末
    MlpUninitialize();
}
MlpInitialize初期化
 引数にライセンスキー"0-0G57-2374R5R276GE" (評価用ライセンスキー) を指定します。
MlpOpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード
 第三引数:ユーザーパスワード
MlpGetPrimitiveInterfacePDFの構成要素を抽出するインターフェースのハンドルを取得
PrmShowPageTree現在文書のページツリーを表示
 第一引数:ハンドル
 第二引数:フラグ
PrmCloseInterface構成要素を抽出するインターフェースのハンドルを終了
 第一引数:ハンドル
MlpCloseDocPDF文書をクローズ
MlpUninitializeライブラリの終了
C# C/C++ Python 他のサンプル ダウンロード
using System;
using PDFTools.PdfImagerLP;

namespace PageTree
{
    class PageTree
    {
        static void Main(string[] args)
        {
            using (var mlp = new PdfImager())
            {
                if (mlp.Initialize("0-0G57-2374R5R276GE") < 0) // ライセンスキー
                {
                    Console.WriteLine("ライセンスエラー");
                    return;
                }

                // オープン
                if (0 <= mlp.OpenDoc("HelloWorld.pdf"))
                {
                    // Primitive インターフェース
                    PrimitiveInterface prm = mlp.GetPrimitiveInterface();

                    // ページツリー
                    prm.ShowPageTree(true);

                    // クローズ
                    prm.CloseInterface();
                    mlp.CloseDoc();
                }
            }
        }
    }
}
Initialize初期化
 引数にライセンスキー"0-0G57-2374R5R276GE" (評価用ライセンスキー) を指定します。
OpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード(省略可)
 第三引数:ユーザーパスワード(省略可)
GetPrimitiveInterfacePDFの構成要素を抽出するインターフェースのハンドルを取得
ShowPageTree現在文書のページツリーを表示
 引数:フラグ
CloseInterface構成要素を抽出するインターフェースのハンドルを終了
CloseDocPDF文書をクローズ
C# C/C++ Python 他のサンプル ダウンロード
from PdfImagerLP import Mlp,PrmConstant
mlp = Mlp()
#初期化
if mlp.Initialize("0-0G57-2374R5R276GE") < 0:
    print("ライセンスエラー")
    exit()

# 入力ファイルをオープン
if mlp.OpenDoc("HelloWorld.pdf") < 0:
    print('オープンエラー')
else:
    # Primitiveインターフェース
    prm = mlp.GetPrimitiveInterface()

    # ページツリー
    prm.ShowPageTree(True)

    # クローズ
    prm.CloseInterface()
    prm.CloseDoc()

# 終了
mlp.Uninitialize()
Initialize初期化
 引数にライセンスキー"0-0G57-2374R5R276GE" (評価用ライセンスキー) を指定します。
OpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード(省略可)
 第三引数:ユーザーパスワード(省略可)
GetPrimitiveInterfacePDFの構成要素を抽出するインターフェースのハンドルを取得
ShowPageTree現在文書のページツリーを表示
 引数:フラグ
CloseInterface構成要素を抽出するインターフェースのハンドルを終了
CloseDocPDF文書をクローズ

結果は以下です。
3 0 obj
<<
  /Count 1
  /Kids [ 4 0 R ]
  /Type /Pages
>>
endobj

Pageオブジェクトを抽出

PDF文書から先頭(第1ページ)のPageオブジェクトを抽出するサンプルコードです。

このサンプルはHelloWorld.pdfから抽出します。このPDFの内容はHelloWorld.txtです。

C# C/C++ Python 他のサンプル ダウンロード
#include "ImagerLP.h"

#define PRETTY  1   //改行して見やすく
#define RESOLVE 1   //参照オブジェクトを解決

int main()
{
    // 初期化(ライセンスキー)
    if (MlpInitialize("0-0G57-2374R5R276GE")) {
        printf("License error\n");
        return 100;
    }

    // 入力ファイルをオープン
    if (MlpOpenDoc("HelloWorld.pdf", "", "") <= 0) {

        // Primitive インターフェース
        PRIMITIVE_HANDLE h = MlpGetPrimitiveInterface();

        // ページ
        PrmObjectHandle pg = PrmObjectHandlePage(h, 1);
        PrmShowObjectHandle(h, pg, RESOLVE, 0, PRETTY);

        // クローズ
        PrmCloseInterface(h);
        MlpCloseDoc();
    }

    //後始末
    MlpUninitialize();
}
MlpInitialize初期化
 引数にライセンスキー"0-0G57-2374R5R276GE" (評価用ライセンスキー) を指定します。
MlpOpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード
 第三引数:ユーザーパスワード
MlpGetPrimitiveInterfacePDFの構成要素を抽出するインターフェースのハンドルを取得
PrmObjectHandlePage第1ページのオブジェクトハンドルを取得
 第一引数:ハンドル
 第二引数:ページ番号
PrmShowObjectHandleページのオブジェクトハンドルを表示
 第一引数:ハンドル
 第二引数:目的オブジェクト
 第三引数:参照を解決
 第四引数:Streamを表示
 第五引数:見易く
PrmCloseInterface構成要素を抽出するインターフェースのハンドルを終了
 第一引数:ハンドル
MlpCloseDocPDF文書をクローズ
MlpUninitializeライブラリの終了
C# C/C++ Python 他のサンプル ダウンロード
using System;
using PDFTools.PdfImagerLP;

namespace PageTree
{
    class PageTree
    {
        static void Main(string[] args)
        {
            using (var mlp = new PdfImager())
            {
                if (mlp.Initialize("0-0G57-2374R5R276GE") < 0) // ライセンスキー
                {
                    Console.WriteLine("ライセンスエラー");
                    return;
                }

                // オープン
                if (0 <= mlp.OpenDoc("HelloWorld.pdf"))
                {

                    // Primitive インターフェース
                    PrimitiveInterface prm = mlp.GetPrimitiveInterface();

                    // ページ
                    PrmObjectHandle pg = prm.ObjectHandlePage(1);
                    prm.ShowObjectHandle(pg, true, false, true);

                    // クローズ
                    prm.CloseInterface();
                    mlp.CloseDoc();
                }
            }
        }
    }
}
Initialize初期化
 引数にライセンスキー"0-0G57-2374R5R276GE" (評価用ライセンスキー) を指定します。
OpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード(省略可)
 第三引数:ユーザーパスワード(省略可)
GetPrimitiveInterfacePDFの構成要素を抽出するインターフェースのハンドルを取得
ObjectHandlePage第1ページのオブジェクトハンドルを取得
 引数:ページ番号
ShowObjectHandleページのオブジェクトハンドルを表示
 第一引数:目的オブジェクト
 第二引数:参照を解決
 第三引数:Streamを表示
 第四引数:見易く
CloseInterface構成要素を抽出するインターフェースのハンドルを終了
CloseDocPDF文書をクローズ
C# C/C++ Python 他のサンプル ダウンロード
from PdfImagerLP import Mlp,PrmConstant
mlp = Mlp()
#初期化
if mlp.Initialize("0-0G57-2374R5R276GE") < 0:
    print("ライセンスエラー")
    exit()

# 入力ファイルをオープン
if mlp.OpenDoc("HelloWorld.pdf") < 0:
    print('オープンエラー')
else:
    # Primitiveインターフェース
    prm = mlp.GetPrimitiveInterface()

    # ページ
    pg = prm.ObjectHandlePage(1)
    prm.ShowObjectHandle(pg, resolve=True, pretty=True)

    # クローズ
    prm.CloseInterface()
    prm.CloseDoc()

# 終了
mlp.Uninitialize()
Initialize初期化
 引数にライセンスキー"0-0G57-2374R5R276GE" (評価用ライセンスキー) を指定します。
OpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード(省略可)
 第三引数:ユーザーパスワード(省略可)
GetPrimitiveInterfacePDFの構成要素を抽出するインターフェースのハンドルを取得
ObjectHandlePage第1ページのオブジェクトハンドルを取得
 引数:ページ番号
ShowObjectHandleページのオブジェクトハンドルを表示
 第一引数:目的オブジェクト
 第二引数(resolve):参照を解決
 第三引数:Streamを表示
 第四引数(pretty):見易く
CloseInterface構成要素を抽出するインターフェースのハンドルを終了
CloseDocPDF文書をクローズ

結果は以下です。
4 0 obj
<<
  /Contents 5 0 R
  /MediaBox [ 0 0 595 842 ]
  /Parent 3 0 R
  /Resources 6 0 R
  /Type /Page
>>
endobj

Contents(ページ内容)オブジェクトを抽出

PDF文書から先頭(第1ページ)のContentsオブジェクトを抽出するサンプルコードです。

このサンプルはHelloWorld.pdfから抽出します。このPDFの内容はHelloWorld.txtです。

C# C/C++ Python 他のサンプル ダウンロード
#include "ImagerLP.h"

#define PRETTY  1   //改行して見やすく
#define RESOLVE 1   //参照オブジェクトを解決
#define STREAM  1   //streamを表示

int main()
{
    // 初期化(ライセンスキー)
    if (MlpInitialize("0-0G57-2374R5R276GE")) {
        printf("License error\n");
        return 100;
    }

    // 入力ファイルをオープン
    if (MlpOpenDoc("HelloWorld.pdf", "", "") <= 0) {

        // Primitive インターフェース
        PRIMITIVE_HANDLE h = MlpGetPrimitiveInterface();

        // ページ
        PrmObjectHandle pg = PrmObjectHandlePage(h, 1);

        // Contents
        PrmObjectHandle cont = PrmObjectHandleDictionaryByString(h, pg, "Contents");
        PrmShowObjectHandle(h, cont, RESOLVE, STREAM, PRETTY);

        // クローズ
        PrmCloseInterface(h);
        MlpCloseDoc();
    }

    //後始末
    MlpUninitialize();
}
MlpInitialize初期化
 引数にライセンスキー"0-0G57-2374R5R276GE" (評価用ライセンスキー) を指定します。
MlpOpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード
 第三引数:ユーザーパスワード
MlpGetPrimitiveInterfacePDFの構成要素を抽出するインターフェースのハンドルを取得
PrmObjectHandlePage第1ページのオブジェクトハンドルを取得
 第一引数:ハンドル
 第二引数:ページ番号
PrmObjectHandleDictionaryByStringDictionaryの要素を取得
ページ内容であるContents要素の値(Value)オブジェクトを取得
 第一引数:ハンドル
 第二引数:対象のオブジェクトハンドル
 第三引数:要素名
PrmShowObjectHandleページのオブジェクトハンドルを表示
 第一引数:ハンドル
 第二引数:目的オブジェクト
 第三引数:参照を解決
 第四引数:Streamを表示
 第五引数:見易く
PrmCloseInterface構成要素を抽出するインターフェースのハンドルを終了
 第一引数:ハンドル
MlpCloseDocPDF文書をクローズ
MlpUninitializeライブラリの終了
C# C/C++ Python 他のサンプル ダウンロード
using System;
using PDFTools.PdfImagerLP;

namespace PageTree
{
    class PageTree
    {
        static void Main(string[] args)
        {
            using (var mlp = new PdfImager())
            {
                if (mlp.Initialize("0-0G57-2374R5R276GE") < 0) // ライセンスキー
                {
                    Console.WriteLine("ライセンスエラー");
                    return;
                }

                // オープン
                if (0 <= mlp.OpenDoc("HelloWorld.pdf"))
                {

                    // Primitive インターフェース
                    PrimitiveInterface prm = mlp.GetPrimitiveInterface();

                    // ページ
                    PrmObjectHandle pg = prm.ObjectHandlePage(1);

                    // Contents
                    PrmObjectHandle cont = prm.ObjectHandleDictionaryByString(pg, "Contents");
                    prm.ShowObjectHandle(cont, true, true, true);

                    // クローズ
                    prm.CloseInterface();
                    mlp.CloseDoc();
                }
            }
        }
    }
}
Initialize初期化
 引数にライセンスキー"0-0G57-2374R5R276GE" (評価用ライセンスキー) を指定します。
OpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード(省略可)
 第三引数:ユーザーパスワード(省略可)
GetPrimitiveInterfacePDFの構成要素を抽出するインターフェースのハンドルを取得
ObjectHandlePage第1ページのオブジェクトハンドルを取得
 引数:ページ番号
ObjectHandleDictionaryByStringDictionaryの要素を取得
ページ内容であるContents要素の値(Value)オブジェクトを取得
 第一引数:対象のオブジェクトハンドル
 第二引数:要素名
ShowObjectHandleページのオブジェクトハンドルを表示
 第一引数:目的オブジェクト
 第二引数:参照を解決
 第三引数:Streamを表示
 第四引数:見易く
CloseInterface構成要素を抽出するインターフェースのハンドルを終了
CloseDocPDF文書をクローズ
C# C/C++ Python 他のサンプル ダウンロード
from PdfImagerLP import Mlp,PrmConstant
mlp = Mlp()
#初期化
if mlp.Initialize("0-0G57-2374R5R276GE") < 0:
    print("ライセンスエラー")
    exit()

# 入力ファイルをオープン
if mlp.OpenDoc("HelloWorld.pdf") < 0:
    print('オープンエラー')
else:
    # Primitiveインターフェース
    prm = mlp.GetPrimitiveInterface()

    # ページ
    pg = prm.ObjectHandlePage(1)

    # Contents
    cont = prm.ObjectHandleDictionaryByString(pg, "Contents")
    prm.ShowObjectHandle(cont, True, True, True)

    # クローズ
    prm.CloseInterface()
    prm.CloseDoc()

# 終了
mlp.Uninitialize()
Initialize初期化
 引数にライセンスキー"0-0G57-2374R5R276GE" (評価用ライセンスキー) を指定します。
OpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード(省略可)
 第三引数:ユーザーパスワード(省略可)
GetPrimitiveInterfacePDFの構成要素を抽出するインターフェースのハンドルを取得
ObjectHandlePage第1ページのオブジェクトハンドルを取得
 引数:ページ番号
ObjectHandleDictionaryByStringDictionaryの要素を取得
ページ内容であるContents要素の値(Value)オブジェクトを取得
 第一引数:対象のオブジェクトハンドル
 第二引数:要素名
ShowObjectHandleページのオブジェクトハンドルを表示
 第一引数:目的オブジェクト
 第二引数(resolve):参照を解決
 第三引数:Streamを表示
 第四引数(pretty):見易く
CloseInterface構成要素を抽出するインターフェースのハンドルを終了
CloseDocPDF文書をクローズ

結果は以下です。
5 0 obj
<<
  /Length 75
>>
stream
BT
1 0 0 1 100 600 Tm
/SF1 50 Tf
0 Ts 0 Tr 0 Tc 0 Tw
(Hello, World.) Tj
ET
endstream
endobj

ご質問、お問い合わせ

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

PDF Toolsライト

PDF Imager-LPサンプル

PDF 構文解説

(ISO32000-1より)

PDF Tools C++サンプル