PDF Metadata メタデータ編集・読出 ライブラリ

PDF メタデータ編集・読出ライブラリ 概要

PDF Imager-LP
PDF文書には、文書のタイトル、作成者、作成日、更新日などの一般的な情報を含めることができます。このような文書に関する全体的な情報(実際のコンテンツや構造とは対照的に)は、「文書メタデータ」と呼ばれます。
これとは別にPDF文書内の個々のオブジェクトにメタデータを含めることができます。このようなオブジェクト固有のメタデータは「オブジェクトレベルのメタデータ」と呼ばれます。

なお、文書メタデータに限りますが、これらの情報を文書に関連付けられた文書情報(Document Information)ディクショナリ内に格納することができます。
しかし、PDF2.0では(CreationDateとModDateのエントリを除いて)文書情報ディクショナリに記載することは非推奨となっていて、 文書メタデータはメタデータストリームに格納されます。
PDF Metadataは文書メタデータの以下のような項目を編集および読み出すライブラリ(API)です。
PDF Metadataライブラリは PDF Structure に含まれており、必要な機能だけを購入できます。
ライブラリのサンプル(C#サンプルコードC/C++サンプルコード)はこちらです。
価格見積り

PDFメタデータ表示、XMPパケット

多くのPDFビュワー(表示アプリケーション)では以下のようなダイアログで文書メタデータを確認できます。
PDF Metadataはそれぞれの項目を指定して編集できます。

PDF文書にタイトルを指定した場合はそれをPDFビュワーのタイトルバーに表示することができます。

PDF文書に著作権表示を追加できます。

PDF Metadataライブラリは、このメタデータのタイトルや作成者などを編集するばかりではなく、XMP仕様で規定された種々(Simple、Structure、Array)のプロパティを言語の修飾子(Qulifire)と共に編集しそれらを読み出すことができます。
この機能を使うと、大量に格納されたPDF文書の中から目的の文書をいち早く検索するシステムを構築することなどができます。

また、AI(人工知能)を使ってPDF文書を解析し、その結果をメタデータに自動で記載させることができます。

以下はXMPパケット(メタデータ)の例です:
PDF Metadataはこれらを編集します。
閉じる<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 6.0.0">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/"
            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
            xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
         <dc:format>application/pdf</dc:format>
         <dc:creator>
            <rdf:Seq>
               <rdf:li>作成者</rdf:li>
            </rdf:Seq>
         </dc:creator>
         <dc:title>
            <rdf:Alt>
               <rdf:li xml:lang="x-default">文書タイトル</rdf:li>
            </rdf:Alt>
         </dc:title>
         <dc:rights>
            <rdf:Alt>
               <rdf:li xml:lang="x-default">Copyright 2014-2026 株式会社トラスト・ソフトウェア・システム</rdf:li>
            </rdf:Alt>
         </dc:rights>
         <xmpRights:WebStatement>https//www.trustss.co.jp/</xmpRights:WebStatement>
         <xmpRights:Marked>False</xmpRights:Marked>
         <xmp:CreateDate>2026-04-19T00:00:00+09:00</xmp:CreateDate>
         <xmp:MetadataDate>2026-04-19T00:00:00+09:00</xmp:MetadataDate>
         <xmp:ModifyDate>2026-04-19T00:00:00+09:00</xmp:ModifyDate>
         <xmp:CreatorTool>PDF Structure Library (https://www.trustss.co.jp/)</xmp:CreatorTool>
         <pdf:Producer>PDF Structure Library Ver 1.10.3 (https://www.trustss.co.jp/)</pdf:Producer>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?>
PDFのメタデータを抽出する「PDF Metadataライブラリ」のサンプル:
C#
C/C++
#include "Structure.h"
#pragma comment(lib, "PdfStructure.lib")

int main()
{
    //初期化
    MlpInitialize(_T("0-0354-32118EE9R161"));

    //PDFファイル オープン
    MlpOpenDoc(_T("in.pdf"), NULL);

    //メタデータ インターフェース
    XMP_HANDLE h = MlpGetXmpInterface();

    //メタデータ抽出
    unsigned char* data;
    int ret = XmpGetSerializedMetadataA(h,
        TRUE,      //TRUE:XMPパケットでラップする、FALSE:ラップしない
        FALSE,      //TRUE:Readonlyパケット、FALSE:Writableパケット
        "",        //改行文字列
        "",        //インデントの文字列
        0,         //全行をインデントする回数
        &data      //[出力]データ
    );

    //メタデータ(XMPパケット)をファイルに格納
    if (ret > 0) {
        FILE* fp;
        if (!fopen_s(&fp, "XPacket.xml", "wb")) {
            fwrite("\357\273\277", 3, 1, fp);
            fwrite(data, 1, ret, fp);
             fclose(fp);
         }
    }

    //インターフェース終了
    XmpCloseInterface(h);
}
C#
C/C++

PDFメタデータ編集のサンプルコード

タイトルの編集

メタデータdc:titleプロパティを編集するサンプルコードです。
PDF2.0では非推奨ですが、以前は文書タイトルを文書情報(Document Information)ディクショナリTitle要素に記載していました。
PDF Metadataライブラリは互換性のためにDocument Informationディクショナリにも記載します。

PDFのタイトルを編集するサンプル:
C#
C/C++
#include "Structure.h"
#pragma comment(lib, "PdfStructure.lib")

int main()
{
    //初期化
    MlpInitialize(_T("0-0354-32118EE9R161"));

    //オープン
    MlpOpenDoc(_T("in.pdf"), NULL);

    //メタデータ インターフェース
    XMP_HANDLE h = MlpGetXmpInterface();

    //タイトル
    XmpSetTitle(h, NULL, _T("ja-JP"), _T("文書タイトル"));
    XmpSetTitle(h, NULL, _T("en-UK"), _T("Document Title"));

    //タイトルをウインドウタイトルバーに表示
    XmpSetDisplayTitleFlag(h, TRUE);  //省略可

    //文書格納
    MlpSavePDF(_T("out.pdf"));

    //インターフェース終了
    XmpCloseInterface(h);
}
XmpSetDisplayTitleFlag(h, TRUE)を実行すると、既定言語のタイトル文字がPDFビュワーのタイトルバーに表示されます。
C#
C/C++

これにより、メタデータの<dc:title>プロパティに以下のように記載されます。
   <dc:title>
      <rdf:Alt>
         <rdf:li xml:lang="x-default">文書タイトル</rdf:li>
         <rdf:li xml:lang="ja-JP">文書タイトル</rdf:li>
         <rdf:li xml:lang="en-UK">Document Title</rdf:li>
      </rdf:Alt>
   </dc:title>

作成者の編集

メタデータdc:creatorプロパティを編集するサンプルコードです。
PDF2.0では非推奨ですが、以前はPDF文書作成者を文書情報(Document Information)ディクショナリAuthor要素に記載していました。
PDF Metadataライブラリは互換性のためにDocument Informationディクショナリにも記載します。

PDFの作成者を編集するサンプル:
C#
C/C++
#include "Structure.h"
#pragma comment(lib, "PdfStructure.lib")

int main()
{
    //初期化
    MlpInitialize(_T("0-0354-32118EE9R161"));

    //オープン
    MlpOpenDoc(_T("in.pdf"), NULL);

    //メタデータ インターフェース
    XMP_HANDLE h = MlpGetXmpInterface();

    //作成者
    XmpReplaceCreator(h, _T("作成者"));

    //文書格納
    MlpSavePDF(_T("out.pdf"));

    //インターフェース終了
    XmpCloseInterface(h);
}
C#
C/C++

これにより、メタデータの<dc:creator>プロパティに以下のように記載されます。
   <dc:creator>
      <rdf:Seq>
         <rdf:li>作成者</rdf:li>
      </rdf:Seq>
   </dc:creator>

サブタイトル(文書の説明)の編集

メタデータdc:descriptionプロパティを編集するサンプルコードです。
PDF2.0では非推奨ですが、以前はサブタイトル(文書の説明)を文書情報(Document Information)ディクショナリSubject要素に記載していました。
PDF Metadataライブラリは互換性のためにDocument Informationディクショナリにも記載します。

PDFのサブタイトルを編集するサンプル:
C#
C/C++
#include "Structure.h"
#pragma comment(lib, "PdfStructure.lib")

int main()
{
    //初期化
    MlpInitialize(_T("0-0354-32118EE9R161"));

    //オープン
    MlpOpenDoc(_T("in.pdf"), NULL);

    //メタデータ インターフェース
    XMP_HANDLE h = MlpGetXmpInterface();

    //説明(Description)
    XmpReplaceDescription(h, NULL, _T("ja-JP"), _T("説明"));
    XmpSetDescription(h, NULL, _T("en-UK"), _T("Description"));

    //文書格納
    MlpSavePDF(_T("out.pdf"));

    //インターフェース終了
    XmpCloseInterface(h);
}
C#
C/C++

これにより、メタデータの<dc:description>プロパティに以下のように記載されます。
   <dc:description>
      <rdf:Alt>
         <rdf:li xml:lang="x-default">説明</rdf:li>
         <rdf:li xml:lang="ja-JP">説明</rdf:li>
         <rdf:li xml:lang="en-UK">Description</rdf:li>
      </rdf:Alt>
   </dc:title>

キーワードの編集

メタデータdc:subjectプロパティを編集するサンプルコードです。
PDF文書のキーワードはdc:subjectに記載されますので注意してください。dc:keywordsという項目はDublin Core名前空間にありません。連結されたキーワードがSimpleプロパティのpdf:Keywordsに記載されます。
PDF2.0では非推奨ですが、以前はキーワードを文書情報(Document Information)ディクショナリKeywords要素に記載していました。
PDF Metadataライブラリはメタデータのpdf:Keywordsにも記載し、互換性のためにDocument Informationディクショナリにも記載します。

PDFのキーワードを編集するサンプル:
C#
C/C++
#include "Structure.h"
#pragma comment(lib, "PdfStructure.lib")

int main()
{
    //初期化
    MlpInitialize(_T("0-0354-32118EE9R161"));

    //オープン
    MlpOpenDoc(_T("in.pdf"), NULL);

    //メタデータ インターフェース
    XMP_HANDLE h = MlpGetXmpInterface();

    //キーワード
    XmpReplaceKeywords(h, _T("キーワード1;キーワード2"));  //複数のキーワード指定可

    //文書格納
    MlpSavePDF(_T("out.pdf"));

    //インターフェース終了
    XmpCloseInterface(h);
}
C#
C/C++

これにより、メタデータの<dc:subject>プロパティおよび、<pdf:Keywords>プロパティに以下のように記載されます。
   <dc:subject>
      <rdf:Bag>
         <rdf:li>キーワード1</rdf:li>
         <rdf:li>キーワード2</rdf:li>
      </rdf:Bag>
   </dc:subject>
   <pdf:Keywords>キーワード1; キーワード2</pdf:Keywords>

著作権表示の編集

PDF Metadataライブラリは著作権表示をメタデータに記載し、「著作権取得済み」などのフラグを設定します。

PDFの著作権表示を編集するサンプル:
C#
C/C++
#include "Structure.h"
#pragma comment(lib, "PdfStructure.lib")

int main()
{
    //初期化
    MlpInitialize(_T("0-0354-32118EE9R161"));

    //オープン
    MlpOpenDoc(_T("in.pdf"), NULL);

    //メタデータ インターフェース
    XMP_HANDLE h = MlpGetXmpInterface();

    //著作権
    XmpReplaceRights(h, NULL, _T("ja-JP"), _T("Copyright 2026 サンプル株式会社"));
    XmpSetRights(h, NULL, _T("en"), _T("Copyright 2026 Sample Co.,Ltd."));
    XmpReplaceRightsWebStatement(h, _T("https//www.sample.com/"));
//  XmpReplaceRightsMarked(h, TRUE);

    //文書格納
    MlpSavePDF(_T("out.pdf"));

    //インターフェース終了
    XmpCloseInterface(h);
}
C#
C/C++

これにより、メタデータの<dc:rigths>プロパティおよび、<xmpRights:WebStatement>プロパティに以下のように記載されます。
   <dc:rights>
      <rdf:Alt>
         <rdf:li xml:lang="x-default">Copyright 2026 サンプル株式会社</rdf:li>
         <rdf:li xml:lang="ja-JP">Copyright 2026 サンプル株式会社</rdf:li>
         <rdf:li xml:lang="en">Copyright 2026 Sample Co.,Ltd.</rdf:li>
      </rdf:Alt>
   </dc:rights>
   <xmpRights:WebStatement>https//www.sample.com/</xmpRights:WebStatement>

Simpleプロパティの編集

Simple(単純)プロパティの値は Unicode標準で定義されているUnicodeテキストの文字列です。
この値を持つXMPプロパティの要素コンテンツは値を提供するテキストでなければなりません。

PDFのSimpleプロパティを編集するサンプル:
C#
C/C++
#include "Structure.h"
#include "XMP_Constants.h"
#include "XMP_PropertyOptionBit.h"
#pragma comment(lib, "PdfStructure.lib")

int main()
{
    //初期化
    MlpInitialize(_T("0-0354-32118EE9R161"));

    //オープン
    MlpOpenDoc(_T("input.pdf"), NULL);

    //メタデータ インターフェース
    XMP_HANDLE h = MlpGetXmpInterface();

    //
    //Simpleプロパティ
    //
    TCHAR* prop = _T("Rating");

    //書き込み
    XmpSetSimpleProperty(h, kXMP_NS_XMP, prop, _T("3"));

    //読み出し
    TCHAR* val;
    XmpGetSimpleProperty(h, kXMP_NS_XMP, prop, &val);
    _tprintf(_T("%s = %s\n"), prop, val);

    //文書格納
    MlpSavePDF(_T("out.pdf"));

    //インターフェース終了
    XmpCloseInterface(h);
}
C#
C/C++

これにより、メタデータの<xmp:Rating>プロパティに以下のように記載されます。
   <xmp:Rating>3</xmp:Rating>

Structureプロパティの編集

Structure(構造)プロパティの値は0個以上の名前付きフィールドのコンテナです。
構造内の各フィールドの順序は重要ではありません。

PDFのStructureプロパティを編集するサンプル:
C#
C/C++
#include "Structure.h"
#include "XMP_Constants.h"
#include "XMP_PropertyOptionBit.h"
#pragma comment(lib, "PdfStructure.lib")

int main()
{
    //初期化
    MlpInitialize(_T("0-0354-32118EE9R161"));

    //オープン
    MlpOpenDoc(_T("input.pdf"), NULL);

    //メタデータ インターフェース
    XMP_HANDLE h = MlpGetXmpInterface();

    //
    //Structureプロパティ
    //
    prop = _T("MaxPageSize");
    TCHAR* height, * width, * unit;

    //書き込み
    XmpSetStructField(h, kXMP_NS_XMP_T_PG, prop, kXMP_NS_XMP_Dimensions, _T("h"), _T("297"));
    XmpSetStructField(h, kXMP_NS_XMP_T_PG, prop, kXMP_NS_XMP_Dimensions, _T("w"), _T("210"));
    XmpSetStructField(h, kXMP_NS_XMP_T_PG, prop, kXMP_NS_XMP_Dimensions, _T("unit"), _T("mm"));

    //読み出し
    XmpGetStructField(h, kXMP_NS_XMP_T_PG, prop, kXMP_NS_XMP_Dimensions, _T("h"), &height);
    _tprintf(_T("%s[h] = %s, "), prop, height);
    XmpGetStructField(h, kXMP_NS_XMP_T_PG, prop, kXMP_NS_XMP_Dimensions, _T("w"), &width);
    _tprintf(_T("%s[w] = %s, "), prop, width);
    XmpGetStructField(h, kXMP_NS_XMP_T_PG, prop, kXMP_NS_XMP_Dimensions, _T("unit"), &unit);
    _tprintf(_T("%s[unit] = %s\n"), prop, unit);

    //文書格納
    MlpSavePDF(_T("out.pdf"));

    //インターフェース終了
    XmpCloseInterface(h);
}
C#
C/C++

これにより、メタデータの<xmpTPg:MaxPageSize>プロパティに以下のように記載されます。 PDF Metadataではrdf:Description要素をrdf:parseType="Resource"属性に置き換えたStructureプロパティとします。
   <xmpTPg:MaxPageSize rdf:parseType="Resource">
      <stDim:h>297</stDim:h>
      <stDim:w>210</stDim:w>
      <stDim:unit>mm</stDim:unit>
   </xmpTPg:MaxPageSize>

順序付(Orderd)Arrayプロパティの編集

Array(配列)プロパティの値は1から始まる序数で位置付けされた0個以上のアイテムのコンテナです。
Arrayアイテムの形式は任意のXMP値形式にすることができ、配列内のすべてのアイテムは同じデータ型にします。
以下に順序付(Orderd)プロパティを編集するサンプルコードとプロパティ値を示します。

PDFの順序付(Orderd)Arrayプロパティを編集するサンプル:
C#
C/C++
#include "Structure.h"
#include "XMP_Constants.h"
#include "XMP_PropertyOptionBit.h"
#pragma comment(lib, "PdfStructure.lib")

int main()
{
    //初期化
    MlpInitialize(_T("0-0354-32118EE9R161"));

    //オープン
    MlpOpenDoc(_T("input.pdf"), NULL);

    //メタデータ インターフェース
    XMP_HANDLE h = MlpGetXmpInterface();

    //
    //Array順序付プロパティ
    //
    prop = _T("OrderedSubject");
    int cnt;

    //書き込み
//  XmpCreateOrderedArray(h, kXMP_NS_DC, prop);    //Arrayが存在しない場合には必須
    cnt = 3;
    TCHAR* val[3] = { _T("XMP"),_T("metadata"),_T("PDF Metadata") };
    for (int i = 0; i < cnt; i++) {
        XmpAppendArrayItem(h, kXMP_NS_DC, prop, val[i]);
    }

    //読み出し
    cnt = XmpCountArrayItems(h, kXMP_NS_DC, prop);
    for (int i = 1; i <= cnt; i++) {
        XmpGetArrayItem(h, kXMP_NS_DC, prop, i, &val);
        _tprintf(_T("%s[%d] = %s\n"), prop, i, val);
    }

    //文書格納
    MlpSavePDF(_T("out.pdf"));

    //インターフェース終了
    XmpCloseInterface(h);
}
C#
C/C++

これにより、メタデータの<xmpTPg:MaxPageSize>プロパティに以下のように記載されます。
   <dc:OrderedSubject>
      <rdf:Seq>
         <rdf:li>XMP</rdf:li>
         <rdf:li>metadata</rdf:li>
         <rdf:li>PDF Metadata</rdf:li>
      </rdf:Seq>
   </dc:OrderedSubject>

順序無し(Unorderd)Arrayプロパティの編集

Array(配列)プロパティの値は順序に意味のない0個以上のアイテムのコンテナです。
Arrayアイテムの形式は任意のXMP値形式にすることができ、配列内のすべてのアイテムは同じデータ型にします。
以下に順序無し(Unorderd)プロパティを編集するサンプルコードとプロパティ値を示します。

PDFの順序無し(Unorderd)Arrayプロパティを編集するサンプル:
C#
C/C++
#include "Structure.h"
#include "XMP_Constants.h"
#include "XMP_PropertyOptionBit.h"
#pragma comment(lib, "PdfStructure.lib")

int main()
{
    //初期化
    MlpInitialize(_T("0-0354-32118EE9R161"));

    //オープン
    MlpOpenDoc(_T("input.pdf"), NULL);

    //メタデータ インターフェース
    XMP_HANDLE h = MlpGetXmpInterface();

    //
    //Array順序無プロパティ
    //
    prop = _T("UnorderedSubject");

    //書き込み
//  XmpCreateOrderedArray(h, kXMP_NS_DC, prop);    //Arrayが存在しない場合には必須
    cnt = 3;
    TCHAR* val[3] = { _T("XMP"),_T("metadata"),_T("PDF Metadata") };
    for (int i = 0; i < cnt; i++)
        XmpAppendArrayItem(h, kXMP_NS_DC, prop, val[i]);

    //読み出し
    cnt = XmpCountArrayItems(h, kXMP_NS_DC, prop);
    for (int i = 1; i <= cnt; i++) {
        XmpGetArrayItem(h, kXMP_NS_DC, prop, i, &val);
        _tprintf(_T("%s: %s[%d] = %s\n"), dir, prop, i, val);
    }

    //文書格納
    MlpSavePDF(_T("out.pdf"));

    //インターフェース終了
    XmpCloseInterface(h);
}
C#
C/C++

これにより、メタデータの<xmpTPg:MaxPageSize>プロパティに以下のように記載されます。
   <dc:UnorderedSubject>
      <rdf:Bag>
         <rdf:li>XMP</rdf:li>
         <rdf:li>metadata</rdf:li>
         <rdf:li>PDF Metadata</rdf:li>
      </rdf:Bag>
   </dc:UnorderedSubject>

代替(Alternative)Arrayプロパティの編集

Array(配列)プロパティの値は順序付けられていて恣意的に順序を変更できない0個以上のアイテムのコンテナです。
最初の項目には優先されるべき(既定の)項目ですので、他の基準が適用されない場合に選択されます。
以下に代替(Alternative)プロパティを編集するサンプルコードとプロパティ値を示します。

PDFの代替(Alternative)Arrayプロパティを編集するサンプル:
C#
C/C++
#include "Structure.h"
#include "XMP_Constants.h"
#include "XMP_PropertyOptionBit.h"
#pragma comment(lib, "PdfStructure.lib")

int main()
{
    //初期化
    MlpInitialize(_T("0-0354-32118EE9R161"));

    //オープン
    MlpOpenDoc(_T("input.pdf"), NULL);

    //メタデータ インターフェース
    XMP_HANDLE h = MlpGetXmpInterface();

    //
    //Array代替プロパティ
    //
    prop = _T("AlternativeSubject");

    //書き込み
//  XmpCreateAlternateArray(h, kXMP_NS_DC, prop);    //Arrayが存在しない場合には必須
    XmpSetArrayAltLangText(h, kXMP_NS_DC, prop, NULL, _T("ja-JP"), _T("サブジェクト"));
    XmpSetArrayAltLangText(h, kXMP_NS_DC, prop, NULL, _T("en-US"), _T("Subject"));

    //読み出し
    TCHR *actual, *value;
    XmpGetArrayAltLangTextA(h, aXMP_NS_DC, prop, NULL, _T("ja-JP"), &actual, &value);
    XmpGetArrayAltLangTextA(h, aXMP_NS_DC, prop, NULL, _T("en-US"), &actual, &value);
    _tprintf("%s[%s]: %s\n", prop, actual, value);

    //文書格納
    MlpSavePDF(_T("out.pdf"));

    //インターフェース終了
    XmpCloseInterface(h);
}
C#
C/C++

これにより、メタデータの<dc:AlternativeSubject>プロパティに以下のように記載されます。
xml:lang="x-default"の項目は自動的に作成されます。
   <dc:AlternativeSubject>
      <rdf:Alt>
         <rdf:li xml:lang="x-default">サブジェクト</rdf:li>
         <rdf:li xml:lang="ja-JP">サブジェクト</rdf:li>
         <rdf:li xml:lang="en-US">Subject</rdf:li>
      </rdf:Alt>
   </dc:AlternativeSubject>

AIとの連携

AIを使ってPDF文書のタイトルや説明文、キーワードなどを自動生成させ、その結果をメタデータに記載させることができます。
自動で作成されたメタデータで文書の検索が容易になりますし、文書目録などを自動生成することなどもできます。

PDF文書のキーワードを自動で生成

OpenAIでは.NET10で使えるAPIライブラリが公開されています。
このライブラリをWindows Visual Studioで利用するためには、NuGetパッケージのOpenAI APIライブラリを先にインストールしてください。
OpenAI APIはGPT-5のResponsesを使用できますが、.NETのライブラリでは実験的なAPI(Experimental APIs)となっていますので、ここでは従来のComplationを使ったChatサンプルを掲載しています。

以下のサンプルはOpenAIでPDF文書からキーワードを作成し、メタデータに記載した新たなPDFファイルを作成します。

C#

これにより、作成されたPDFのメタデータの<dc:subject>プロパティおよび、<pdf:Keywords>プロパティに以下のように自動で記載されます。
   <dc:subject>
      <rdf:Bag>
         <rdf:li>AIによって作成されたキーワード1</rdf:li>
         <rdf:li>AIによって作成されたキーワード2</rdf:li>
         <rdf:li>AIによって作成されたキーワード3</rdf:li>
         <rdf:li>AIによって作成されたキーワード4</rdf:li>
         <rdf:li>AIによって作成されたキーワード5</rdf:li>
      </rdf:Bag>
   </dc:subject>
   <pdf:Keywords>AIによって作成されたキーワード1, AIによって作成されたキーワード2, AIによって作成されたキーワード3, AIによって作成されたキーワード4, AIによって作成されたキーワード5</pdf:Keywords>

無償評価版

無償の評価版(製品の機能をすべて利用できます)を利用できます。
利用許諾契約書をご確認のうえ以下からダウンロードしてください。
ダウンロードしますと利用許諾契約書に同意したものとみなします。
無償体験版
PDFStructure-1_10_3.zip
マニュアル
PDF Metadata 説明書
体験版(評価)用ライセンスキー
"0-0354-32118EE9R161"

ご質問、お問い合わせ

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

PDF Toolsライト

PDF 構文解説

(ISO32000-1より)

Pdftoold SDK

Toolbox Add-on