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-0GR8-HE1103E6R1G6")) {
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-0GR8-HE1103E6R1G6"))
{
// オープン
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-0GR8-HE1103E6R1G6") < 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-0GR8-HE1103E6R1G6")) {
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-0GR8-HE1103E6R1G6"))
{
// オープン
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-0GR8-HE1103E6R1G6") < 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-0GR8-HE1103E6R1G6")) {
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-0GR8-HE1103E6R1G6"))
{
// オープン
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-0GR8-HE1103E6R1G6") < 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