TOP > AcroExch.PDDoc > *
説明
PDFドキュメントのInfo情報の指定されたキーの値を返します。最大512バイトは返されます。文書プロパティの概要タブにある 「タイトル」、「作成者」、「サブタイトル」、「キーワード」、「アプリケーション」、「PDF変換」、「作成日」、「更新日」の項目もこれで取得できます。
形式
BSTR GetInfo(BSTR szInfoKey);
引数
- 第1引数(BSTR szInfoKey) :
キーワード
| キーワード | 内容 |
| Title | タイトル |
| Author | 作成者 |
| Subject | サブタイトル |
| Keywords | キーワード |
| Creator | アプリケーション |
| Producer | PDF変換 |
| CreationDate | 作成日 |
| ModDate | 更新日 |
戻り値
- 文字列があったなら成功。
- 空の文字を返したら失敗。キーが存在しないか、何らかの理由で値を読むことができない。
動作するバージョン
| Acrobat | 動作 | 備考 |
|---|---|---|
4 | ― | Acrobat 4.0 ※Windows 98SE + Excel 2000 |
5 | ― | Acrobat 5.0.5 |
6 | ― | Acrobat 6.0.3 Pro |
7 | ― | Acrobat 7.0.9 Pro Acrobat 7.1.4 Pro |
8 | OK | Acrobat 8.3.1 Pro |
9 | ― | Acrobat 9.3.2 Extended |
10 | ― | Acrobat X (10.1.8) Extended |
11 | OK | Acrobat XI (11.0.14) Pro |
- OK:動作します。
- NO:動作しない。 戻り値が0を返します。
- ―:未確認。
サンプル:ExcelのVBA
PDFドキュメントから文書プロパティの概要と詳細内容の値を得ます。
- 事前に参照設定をします。
- F8キーでステップ実行しながら動作確認します。
001 Option Explicit
002
003 Sub AcroExch_PDDoc_GetInfo()
004
005 Dim objAcrobatPDDoc As New Acrobat.AcroPDDoc
006 Dim lRet As Long
007 Dim strGetInfo As String
008 Const CON_FILE As String = "I:\Adobe PDF\execMenuItem.pdf"
009
010 'PDFオブジェクトをオープンする。
011 '注意)Acrobatは画面に表示されない。
012 lRet = objAcrobatPDDoc.Open(CON_FILE)
013
014 '文書プロパティのタイトル
015 strGetInfo = objAcrobatPDDoc.GetInfo("Title")
016 Debug.Print "GetInfo(""Title"")=" & strGetInfo
017 '文書プロパティの作成者
018 strGetInfo = objAcrobatPDDoc.GetInfo("Author")
019 Debug.Print "GetInfo(""Author"")=" & strGetInfo
020 '文書プロパティのサブタイトル
021 strGetInfo = objAcrobatPDDoc.GetInfo("Subject")
022 Debug.Print "GetInfo(""Subject"")=" & strGetInfo
023 '文書プロパティのキーワード
024 strGetInfo = objAcrobatPDDoc.GetInfo("Keywords")
025 Debug.Print "GetInfo(""Keywords"")=" & strGetInfo
026 '文書プロパティのアプリケーション
027 strGetInfo = objAcrobatPDDoc.GetInfo("Creator")
028 Debug.Print "GetInfo(""Creator"")=" & strGetInfo
029 '文書プロパティのPDF変換
030 strGetInfo = objAcrobatPDDoc.GetInfo("Producer")
031 Debug.Print "GetInfo(""Producer"")=" & strGetInfo
032 '文書プロパティの作成日
033 strGetInfo = objAcrobatPDDoc.GetInfo("CreationDate")
034 Debug.Print "GetInfo(""CreationDate"")=" & strGetInfo
035 '文書プロパティの更新日
036 strGetInfo = objAcrobatPDDoc.GetInfo("ModDate")
037 Debug.Print "GetInfo(""ModDate"")=" & strGetInfo
038 '文書プロパティの
039 strGetInfo = objAcrobatPDDoc.GetInfo("Trapped")
040 Debug.Print "GetInfo(""Trapped"")=" & strGetInfo
041
042 'PDFオブジェクトを解放する。
043 objAcrobatPDDoc.Close
044 Set objAcrobatPDDoc = Nothing
045
046 End Sub
実行結果
GetInfo("Title")=app.execMenuItem()
GetInfo("Author")=dareka
GetInfo("Subject")=app.execMenuItem("code");
GetInfo("Keywords")=app,execMenuItem,code
GetInfo("Creator")=Word 用 Acrobat PDFMaker 5.0
GetInfo("Producer")=Acrobat Distiller 5.0 (Windows)
GetInfo("CreationDate")=D:20011224105558+09'00'
GetInfo("ModDate")=D:20140423193007+09'00'
GetInfo("Trapped")=
補足
- 最初に「AcroExch.PDDoc:SetInfo メソッド」にあるExcel VBAサンプルを実行しておいて下さい。
- サンプル「Excel:PDFの文書プロパティを表示する」も参照
- 文書プロパティの開き方・タブの更新はココを参照。
参照
Adobe Web 解説
OLE Automation / AcroExch.PDDoc / GetInfo (公式サイト・英語)
動作確認環境
- WindowsXP Pro(+ SP3) +
Acrobat 8.1.2 Pro + Office 2003 + フルMicrosoftUpdate - Windows 7 64bit(+ SP1) +
Acrobat 8.3.1 Pro + Office 2007 + WindowsUpdate - Windows 10 64bit +
Acrobat XI Pro + Office 2007 + WindowsUpdate
< 戻る >
サイト管理人の技術メモ
これ以降はサイト管理者が当サイト又は当ページを維持&管理するためのメモです。見る必要も無く公開用にも書いてません。
メソッド「GetInfo(“Modified”)」は使えない
Acrobat 7.0.5 SDK (注:既にこのバージョンはDL出来ない)からダウンロード&インストールした Visual Basic.NET 2003 のサンプルコードを見ると
Label10.Text = AcroPDDoc.GetInfo(“Created“)
Label11.Text = AcroPDDoc.GetInfo(“Modified“)
とGetInfoメソッドの検索キーワードに「Created」と「Modified」があります。これは間違い。キーワード「Modified」は間違いで「ModDate」が正解です。
strGetInfo = objAcrobatPDDoc.GetInfo(“ModDate“)
と使うのが正解です。英語のPDF解説書にはこの記載は今のところ見つかりませんでした。見つけた場所は、Acrobatメニューの[ファイル(F)]->[文書のプロパティ(D)]->文書のプロパティ画面の[概要]タブ->[その他のメタデータ(M)..]ボタンを押す。

上記の部分に入っています。自分で入れたPSキーワードの内容も表示されています。GetInfoメソッドはココにある内容をキーワードで値として拾ってきます。
キーワード「Trapped」って何?
存在しないキーワードを指定したらどうなるかをテストする為に入れました。エラーにはなりません。
< 戻る >
