PDF Imager-LP PDF文書からオブジェクトを抽出
PDF Imager-LP
		 PDF Imager-LPは、PDF文書を画像(TIFF、JPEG、PNG、BMP)に変換するライブラリです。( PDF Imager-LP概要 )
		PDF Imager-LPは、PDF文書を画像(TIFF、JPEG、PNG、BMP)に変換するライブラリです。( PDF Imager-LP概要 )
		
 価格見積り
	
		ダウンロード:
		PDF Imager-LPの無償体験版は、以下からダウンロードできます。無償体験版は、製品版と同じ機能が使えます。
		利用許諾契約書をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾に同意したものとみなします。
		評価利用では、ライセンスキーが必要です。
インストール
/*C#*/ ?>
| C#開発環境 | C/C++開発環境 | Python開発環境 | 
	ライブラリは無償でダウンロードおよび試用できます。
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
		
	サンプルはlib/x64/PdfImagerLP.dll(またはlib/Win32/PdfImagerLP.dll)およびlib/PdfImagerLP.dllを参照しますので、適切なフォルダーにコピーしてください。
	
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
| doc | ライブラリ説明書、利用許諾契約書 | 
| include | C/C++用ヘッダー(.h)ファイル | 
| lib | DLLライブラリ、Libファイル | 
| sample | C/C++言語、C#言語サンプル および、 Windowsアプリケーション(C++およびC#) | 
| C#開発環境 | C/C++開発環境 | Python開発環境 | 
	ライブラリは無償でダウンロードおよび試用できます。
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
		
	サンプルはlib/x64/PdfImagerLP.dll(またはlib/Win32/PdfImagerLP.dll)を参照しますので、適切なフォルダーにコピーしてください。
	
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
| doc | ライブラリ説明書、利用許諾契約書 | 
| include | C/C++用ヘッダー(.h)ファイル | 
| lib | DLLライブラリ、Libファイル | 
| sample | C/C++言語、C#言語サンプル および、 Windowsアプリケーション(C++およびC#) | 
| C#開発環境 | C/C++開発環境 | Python開発環境 | 
	ライブラリは無償でダウンロードおよび試用できます。
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
		
	サンプルはモジュールPdfImagerLP.pyを使用し、lib/x64またはWin32/_PdfImagerLP.pydおよびlib/x64またはWin32/PdfImagerLP.dllを参照しますので、
	適切なフォルダーにコピーするか、以下のような手順でPython DLLの検索パスを設定してください。
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
| doc | ライブラリ説明書、利用許諾契約書 | 
| include | C/C++用ヘッダー(.h)ファイル | 
| lib | DLLライブラリ、Libファイル | 
| sample | C/C++言語、C#言語サンプル および、 Windowsアプリケーション(C++およびC#) | 
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-0362-E7ERR39HK28R")) {
        printf("License error\n");
        return 100;
    }
    // 入力ファイルをオープン
    if (MlpOpenDoc("HelloWorld.pdf", "", "") <= 0) {
        // Primitive インターフェース
        PRIMITIVE_HANDLE h = MlpGetPrimitiveInterface();
        // ページツリー
        PrmShowPageTree(h, PRETTY);
        // クローズ
        PrmCloseInterface(h);
        MlpCloseDoc();
    }
    //後始末
    MlpUninitialize();
}
| MlpInitialize | 初期化 引数にライセンスキーを指定します。 | 
| MlpOpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード 第三引数:ユーザーパスワード | 
| MlpGetPrimitiveInterface | PDFの構成要素を抽出するインターフェースのハンドルを取得 | 
| PrmShowPageTree | 現在文書のページツリーを表示 第一引数:ハンドル 第二引数:フラグ | 
| PrmCloseInterface | 構成要素を抽出するインターフェースのハンドルを終了 第一引数:ハンドル | 
| MlpCloseDoc | PDF文書をクローズ | 
| MlpUninitialize | ライブラリの終了 | 
| C# | C/C++ | Python | 他のサンプル | ダウンロード | 
using System;
using PDFTools.PdfImagerLP;
namespace PageTree
{
    class PageTree
    {
        static void Main(string[] args)
        {
            using (var mlp = new PdfImager("0-0362-E7ERR39HK28R"))
            {
                // オープン
                if (0 <= mlp.OpenDoc("HelloWorld.pdf"))
                {
                    // Primitive インターフェース
                    PrimitiveInterface prm = mlp.GetPrimitiveInterface();
                    // ページツリー
                    prm.ShowPageTree(true);
                    // クローズ
                    prm.CloseInterface();
                    mlp.CloseDoc();
                }
            }
        }
    }
}
| Initialize | 初期化 引数にライセンスキーを指定します。 | 
| OpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード(省略可) 第三引数:ユーザーパスワード(省略可) | 
| GetPrimitiveInterface | PDFの構成要素を抽出するインターフェースのハンドルを取得 | 
| ShowPageTree | 現在文書のページツリーを表示 引数:フラグ | 
| CloseInterface | 構成要素を抽出するインターフェースのハンドルを終了 | 
| CloseDoc | PDF文書をクローズ | 
| C# | C/C++ | Python | 他のサンプル | ダウンロード | 
from PdfImagerLP import Mlp,PrmConstant
mlp = Mlp()
#初期化
if mlp.Initialize("0-0362-E7ERR39HK28R") < 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 | 初期化 引数にライセンスキーを指定します。 | 
| OpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード(省略可) 第三引数:ユーザーパスワード(省略可) | 
| GetPrimitiveInterface | PDFの構成要素を抽出するインターフェースのハンドルを取得 | 
| ShowPageTree | 現在文書のページツリーを表示 引数:フラグ | 
| CloseInterface | 構成要素を抽出するインターフェースのハンドルを終了 | 
| CloseDoc | PDF文書をクローズ | 
結果は以下です。
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-0362-E7ERR39HK28R")) {
        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 | 初期化 引数にライセンスキーを指定します。 | 
| MlpOpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード 第三引数:ユーザーパスワード | 
| MlpGetPrimitiveInterface | PDFの構成要素を抽出するインターフェースのハンドルを取得 | 
| PrmObjectHandlePage | 第1ページのオブジェクトハンドルを取得 第一引数:ハンドル 第二引数:ページ番号 | 
| PrmShowObjectHandle | ページのオブジェクトハンドルを表示 第一引数:ハンドル 第二引数:目的オブジェクト 第三引数:参照を解決 第四引数:Streamを表示 第五引数:見易く | 
| PrmCloseInterface | 構成要素を抽出するインターフェースのハンドルを終了 第一引数:ハンドル | 
| MlpCloseDoc | PDF文書をクローズ | 
| MlpUninitialize | ライブラリの終了 | 
| C# | C/C++ | Python | 他のサンプル | ダウンロード | 
using System;
using PDFTools.PdfImagerLP;
namespace PageTree
{
    class PageTree
    {
        static void Main(string[] args)
        {
            using (var mlp = new PdfImager("0-0362-E7ERR39HK28R"))
            {
                // オープン
                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 | 初期化 引数にライセンスキーを指定します。 | 
| OpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード(省略可) 第三引数:ユーザーパスワード(省略可) | 
| GetPrimitiveInterface | PDFの構成要素を抽出するインターフェースのハンドルを取得 | 
| ObjectHandlePage | 第1ページのオブジェクトハンドルを取得 引数:ページ番号 | 
| ShowObjectHandle | ページのオブジェクトハンドルを表示 第一引数:目的オブジェクト 第二引数:参照を解決 第三引数:Streamを表示 第四引数:見易く | 
| CloseInterface | 構成要素を抽出するインターフェースのハンドルを終了 | 
| CloseDoc | PDF文書をクローズ | 
| C# | C/C++ | Python | 他のサンプル | ダウンロード | 
from PdfImagerLP import Mlp,PrmConstant
mlp = Mlp()
#初期化
if mlp.Initialize("0-0362-E7ERR39HK28R") < 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 | 初期化 引数にライセンスキーを指定します。 | 
| OpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード(省略可) 第三引数:ユーザーパスワード(省略可) | 
| GetPrimitiveInterface | PDFの構成要素を抽出するインターフェースのハンドルを取得 | 
| ObjectHandlePage | 第1ページのオブジェクトハンドルを取得 引数:ページ番号 | 
| ShowObjectHandle | ページのオブジェクトハンドルを表示 第一引数:目的オブジェクト 第二引数(resolve):参照を解決 第三引数:Streamを表示 第四引数(pretty):見易く | 
| CloseInterface | 構成要素を抽出するインターフェースのハンドルを終了 | 
| CloseDoc | PDF文書をクローズ | 
結果は以下です。
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-0362-E7ERR39HK28R")) {
        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 | 初期化 引数にライセンスキーを指定します。 | 
| MlpOpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード 第三引数:ユーザーパスワード | 
| MlpGetPrimitiveInterface | PDFの構成要素を抽出するインターフェースのハンドルを取得 | 
| PrmObjectHandlePage | 第1ページのオブジェクトハンドルを取得 第一引数:ハンドル 第二引数:ページ番号 | 
| PrmObjectHandleDictionaryByString | Dictionaryの要素を取得 ページ内容であるContents要素の値(Value)オブジェクトを取得 第一引数:ハンドル 第二引数:対象のオブジェクトハンドル 第三引数:要素名 | 
| PrmShowObjectHandle | ページのオブジェクトハンドルを表示 第一引数:ハンドル 第二引数:目的オブジェクト 第三引数:参照を解決 第四引数:Streamを表示 第五引数:見易く | 
| PrmCloseInterface | 構成要素を抽出するインターフェースのハンドルを終了 第一引数:ハンドル | 
| MlpCloseDoc | PDF文書をクローズ | 
| MlpUninitialize | ライブラリの終了 | 
| C# | C/C++ | Python | 他のサンプル | ダウンロード | 
using System;
using PDFTools.PdfImagerLP;
namespace PageTree
{
    class PageTree
    {
        static void Main(string[] args)
        {
            using (var mlp = new PdfImager("0-0362-E7ERR39HK28R"))
            {
                // オープン
                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 | 初期化 引数にライセンスキーを指定します。 | 
| OpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード(省略可) 第三引数:ユーザーパスワード(省略可) | 
| GetPrimitiveInterface | PDFの構成要素を抽出するインターフェースのハンドルを取得 | 
| ObjectHandlePage | 第1ページのオブジェクトハンドルを取得 引数:ページ番号 | 
| ObjectHandleDictionaryByString | Dictionaryの要素を取得 ページ内容であるContents要素の値(Value)オブジェクトを取得 第一引数:対象のオブジェクトハンドル 第二引数:要素名 | 
| ShowObjectHandle | ページのオブジェクトハンドルを表示 第一引数:目的オブジェクト 第二引数:参照を解決 第三引数:Streamを表示 第四引数:見易く | 
| CloseInterface | 構成要素を抽出するインターフェースのハンドルを終了 | 
| CloseDoc | PDF文書をクローズ | 
| C# | C/C++ | Python | 他のサンプル | ダウンロード | 
from PdfImagerLP import Mlp,PrmConstant
mlp = Mlp()
#初期化
if mlp.Initialize("0-0362-E7ERR39HK28R") < 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 | 初期化 引数にライセンスキーを指定します。 | 
| OpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード(省略可) 第三引数:ユーザーパスワード(省略可) | 
| GetPrimitiveInterface | PDFの構成要素を抽出するインターフェースのハンドルを取得 | 
| ObjectHandlePage | 第1ページのオブジェクトハンドルを取得 引数:ページ番号 | 
| ObjectHandleDictionaryByString | Dictionaryの要素を取得 ページ内容であるContents要素の値(Value)オブジェクトを取得 第一引数:対象のオブジェクトハンドル 第二引数:要素名 | 
| ShowObjectHandle | ページのオブジェクトハンドルを表示 第一引数:目的オブジェクト 第二引数(resolve):参照を解決 第三引数:Streamを表示 第四引数(pretty):見易く | 
| CloseInterface | 構成要素を抽出するインターフェースのハンドルを終了 | 
| CloseDoc | PDF文書をクローズ | 
結果は以下です。
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