PDF Imager-LP PDF文書のメタデータ抽出 サンプル・コード
PDF Imager-LP PDFからメタデータを抽出するサンプルと解説
PDF Imager-LPは、PDF文書を画像(TIFF、JPEG、PNG、BMP)に変換するライブラリです。( PDF Imager-LP概要 )
価格見積り
ここでは、PDFの指定したページを画像に変換するサンプルを示します。
ダウンロード:
PDF Imager-LPの無償体験版は、以下からダウンロードできます。無償体験版は、製品版と同じ機能が使えます。
利用許諾契約書をご確認のうえダウンロードしてください。ダウンロードしますと、利用許諾に同意したものとみなします。
評価利用では、ライセンスキーが必要です。
インストール
| C# 開発環境 | C/C++ 開発環境 | Python 開発環境 |
ライブラリは無償でダウンロードでき、全機能を試用できます。
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
| doc | ライブラリ説明書、利用許諾契約書 |
| include | C/C++用ヘッダー(.h)ファイル |
| lib | DLLライブラリ、Libファイル |
| sample | C/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')
メタデータを抽出するサンプルコード
PDF文書からメタデータを文字列で抽出するサンプルコードです。
| C# | C/C++ | Python | 他のサンプル | ダウンロード |
#include "ImagerLp.h"
#pragma comment(lib, "PdfImagerLP.lib")
int main(int argc, char* argv[])
{
// 初期化
if(MlpInitialize("0-0GGR-31KE97WW8H97")){
printf("ライセンスキーが不正です。正しいライセンスキーを使用してください。");
return 1;
}
// PDF文書オープン
if(MlpOpenDoc("ファイル.pdf", NULL, NULL)){
printf("PDFファイルをオープンできません。");
} else {
// メタデータ
char *metaStr;
int len = MlpGetMetadataString(&metaStr);
if (len < 0)
printf("MlpGetMetadata Error (%d)\n", len);
else if (!len)
printf("No Metadata\n");
else
printf("%s\n", metaStr);
// 文書クローズ
MlpCloseDoc();
}
// 後始末
MlpUninitialize();
return 0;
}
| MlpInitialize | 初期化 引数にライセンスキーを指定します。 |
| MlpOpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード 第三引数:ユーザーパスワード |
| MlpGetMetadataString | メタデータを抽出 メータデータのバイトサイズが戻る 引数にメタデータが戻る |
| MlpCloseDoc | PDF文書をクローズ |
| MlpUninitialize | ライブラリの終了 |
| C# | C/C++ | Python | 他のサンプル | ダウンロード |
using System;
using PDFTools.PdfImagerLP;
namespace Metadata
{
class Metadata
{
static void Main(string[] args)
{
// インスタンス生成
PdfImager imgr = new PdfImager("0-0GGR-31KE97WW8H97");
// オープン
if (imgr.OpenDoc("in.pdf", null, null) != err.MLP_NO_ERROR)
{
Console.WriteLine("PDFファイルを開けません。");
Environment.Exit(3);
}
// メタデータ
string metaStr;
int len = imgr.GetMetadataString(out metaStr);
if (len < 0)
Console.WriteLine("GetMetadataString error ({0})", len);
else if (len == 0)
Console.WriteLine("No Metadata");
else
Console.WriteLine(metaStr);
// 文書クローズ
imgr.CloseDoc();
// 後始末
imgr.Uninitialize();
}
}
}
| Initialize | 初期化 引数にライセンスキーを指定します。 |
| OpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード 第三引数:ユーザーパスワード |
| GetMetadataString | メタデータを抽出 メータデータのバイトサイズが戻る 引数にメタデータが戻る |
| CloseDoc | PDF文書をクローズ |
| Uninitialize | ライブラリの終了 |
| C# | C/C++ | Python | 他のサンプル | ダウンロード |
import PdfImagerLP
#インスタンス生成
mlp = PdfImagerLP.Mlp();
#初期化
if mlp.Initialize("0-0GGR-31KE97WW8H97") < 0:
print("ライセンスキーが不正です。");
exit()
#オープン
if 0 <= mlp.OpenDoc("in.pdf"):
# メタデータ
print(mlp.GetMetadataString())
# 文書クローズ
mlp.CloseDoc();
else:
print("PDFファイルを開けません。")
# 後始末
mlp.Uninitialize();
| Initialize | 初期化 引数にライセンスキーを指定します。 |
| OpenDoc | PDF文書をオープン 第一引数:ファイルパス名 第二引数:オーナーパスワード(省略可) 第三引数:ユーザーパスワード(省略可) |
| GetMetadataString | メタデータを抽出 メータデータのバイトサイズが戻る 引数にメタデータが戻る |
| CloseDoc | PDF文書をクローズ |
| Uninitialize | ライブラリの終了 |
以下は、上記コードで抽出されるメタデータの例です。
<?xpacket begin="[0xEF][0xBB][0xBF]" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.2-c001 63.139439, 2010/09/27-13:37:26 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
<pdf:Producer>Acrobat Distiller 10.1.3 (Windows)</pdf:Producer>
</rdf:Description>
<rdf:Description rdf:about=""
xmlns:xmp="http://ns.adobe.com/xap/1.0/">
<xmp:CreatorTool>Word [0xE7][0x94][0xA8] Acrobat PDFMaker 10.1</xmp:CreatorTool>
<xmp:ModifyDate>2025-10-24T11:38:22+09:00</xmp:ModifyDate>
<xmp:CreateDate>2025-10-24T11:38:15+09:00</xmp:CreateDate>
<xmp:MetadataDate>2025-10-24T11:38:22+09:00</xmp:MetadataDate>
</rdf:Description>
<rdf:Description rdf:about=""
xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:format>application/pdf</dc:format>
<dc:creator>
<rdf:Seq>
<rdf:li/>
</rdf:Seq>
</dc:creator>
<dc:title>
<rdf:Alt>
<rdf:li xml:lang="x-default"/>
</rdf:Alt>
</dc:title>
</rdf:Description>
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/">
<xmpMM:DocumentID>uuid:352e51c6-c5a1-4710-bfd6-92ecdfa8db59</xmpMM:DocumentID>
<xmpMM:InstanceID>uuid:0f64c2dd-f790-4217-9469-25b37bc83bf6</xmpMM:InstanceID>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?>