PDF Imager-LP PDF文書からオブジェクトを抽出
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-0GR4-HE110364R170")) { 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-0GR4-HE110364R170")) { // オープン 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-0GR4-HE110364R170") < 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-0GR4-HE110364R170")) { 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-0GR4-HE110364R170")) { // オープン 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-0GR4-HE110364R170") < 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-0GR4-HE110364R170")) { 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-0GR4-HE110364R170")) { // オープン 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-0GR4-HE110364R170") < 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