PDF Imager-LP PDF文書のメタデータ抽出 サンプル・コード

PDF Imager-LP PDFからメタデータを抽出するサンプルと解説

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

価格見積り

ここでは、PDFの指定したページを画像に変換するサンプルを示します。

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

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

インストール


C# 開発環境 C/C++ 開発環境 Python 開発環境
ライブラリは無償でダウンロードでき、全機能を試用できます。
Imager-LPパッケージをダウンロードしてから、適当なフォルダーに解凍してください。
以下のようなフォルダーができますので適宜ご利用ください。
docライブラリ説明書、利用許諾契約書
includeC/C++用ヘッダー(.h)ファイル
libDLLライブラリ、Libファイル
sampleC/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-0G08-43RG048K9112")){
        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初期化
 引数にライセンスキー"0-0G08-43RG048K9112" (評価用ライセンスキー) を指定します。
MlpOpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード
 第三引数:ユーザーパスワード
MlpGetMetadataStringメタデータを抽出
メータデータのバイトサイズが戻る
 引数にメタデータが戻る
MlpCloseDocPDF文書をクローズ
MlpUninitializeライブラリの終了
C# C/C++ Python 他のサンプル ダウンロード
using System;
using PDFTools.PdfImagerLP;

namespace Metadata
{
    class Metadata
    {
        static void Main(string[] args)
        {
            // インスタンス生成
            PdfImager imgr = new PdfImager("0-0G08-43RG048K9112");

            // オープン
            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初期化
 引数にライセンスキー"0-0G08-43RG048K9112" (評価用ライセンスキー) を指定します。
OpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード
 第三引数:ユーザーパスワード
GetMetadataStringメタデータを抽出
メータデータのバイトサイズが戻る
 引数にメタデータが戻る
CloseDocPDF文書をクローズ
Uninitializeライブラリの終了
C# C/C++ Python 他のサンプル ダウンロード
import PdfImagerLP

#インスタンス生成
mlp = PdfImagerLP.Mlp();

#初期化
if mlp.Initialize("0-0G08-43RG048K9112") < 0:
    print("ライセンスキーが不正です。");
    exit()

#オープン
if 0 <= mlp.OpenDoc("in.pdf"):
    # メタデータ
    print(mlp.GetMetadataString())

    # 文書クローズ
    mlp.CloseDoc();
else:
    print("PDFファイルを開けません。")

# 後始末
mlp.Uninitialize();
Initialize初期化
 引数にライセンスキー"0-0G08-43RG048K9112" (評価用ライセンスキー) を指定します。
OpenDocPDF文書をオープン
 第一引数:ファイルパス名
 第二引数:オーナーパスワード(省略可)
 第三引数:ユーザーパスワード(省略可)
GetMetadataStringメタデータを抽出
メータデータのバイトサイズが戻る
 引数にメタデータが戻る
CloseDocPDF文書をクローズ
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>2024-12-22T11:38:22+09:00</xmp:ModifyDate>
         <xmp:CreateDate>2024-12-22T11:38:15+09:00</xmp:CreateDate>
         <xmp:MetadataDate>2024-12-22T11: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"?>

ご質問、お問い合わせ

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

PDF Toolsライト

PDF Imager-LPサンプル

PDF 構文解説

(ISO32000-1より)

PDF Tools C++サンプル