VBでPDFファイルをチェックするには?


たかし  2003-02-25 18:34:06  No: 77222  IP: [192.*.*.*]

たかしと申します。
よろしくおねがいします。
早速ですが、VBであるPDFが、Acrobat DistillerでPDF変換されたか
どうか調べたいです。
PDDocGetInfoというAPIを使用すればできるそうなのですが・・・
そのAPIをVBでどのようにすれば使用できるのかがわかりません。
このような経験をされた方がおりましたら、ご教授お願い致します。

編集 削除
とろ  2003-02-26 10:14:47  No: 77223  IP: [192.*.*.*]

Private Sub exexPDDoc_GetInfo()
  Dim AcroPDDoc  As Object 'Acrobat.CAcroPDDoc
  Dim bRetValue  As Boolean
  Set AcroPDDoc = CreateObject("AcroExch.PDDoc")  '* オブジェクトの作成
  bRetValue = AcroPDDoc.Open("d:\Sample.pdf")     '* ファイルのオープン
  If bRetValue = False Then MsgBox "Fail to Open PDDoc!"
  Debug.Print AcroPDDoc.GetInfo("Producer")       '* PDF 作成時のプリンタ
  bRetValue = AcroPDDoc.Close()                   '* ファイルのクローズ
  If bRetValue = False Then MsgBox "Fail to Close PDDoc!"
  Set AcroPDDoc = Nothing                         '* オブジェクトの破棄
End Sub

ちなみに、GetInfo の戻り値は、次のような感じです。
Acrobat Distiller 4.0 for Macintosh
Acrobat Distiller 5.0 (Windows)
Acrobat PDFWriter 5.0 Windows NT

編集 削除
たかし  2003-02-26 12:44:58  No: 77224  IP: [192.*.*.*]

とろさん、ありがとうございました。
大変参考になりました。
実は、VBを使用してあと2点、PDFのチェックを行いたいのですが・・・
1つめは、PDFのバージョンです。これは、PDDocGetVersionPDFというAPIを
使用するようなのですが、このAPIをAcrobatのリファレンスで調べてみたところ
私の調べ方がいけないのかもしれませんが、載っておりませんでした。
2つめは、埋め込まれているフォントをリストアップして、埋め込み禁止フォント
でないことを確認する、というものです。これは、PDDocEnumFontsや
PDFontGetName等のAPIを使用すると実現できるそうなのですが、これもAcrobatのリファレンスの載っておりませんでした。
以上、このような経験をされた方がおりましたら、ご教授お願い致します。また、
参考になるサイト等を知っている方がおりましたら、こちらのほうも宜しくお願い
致します。

編集 削除
とろ  2003-02-26 17:19:22  No: 77225  IP: [192.*.*.*]

ちょっと私には分かりません。少なくとも私が調べた限り、
GetVersion, EnumFont という文字が含まれる
メソッド、プロパティは存在しませんでした。

# 以下、私の推測
しかし、バージョンの方に関しては、
作成に使用したプリンタと同じように GetInfo で取得できそうな気がします。
"Producer" の代わりに指定する文字列が何なのか分かりませんが...

# ごめんね <(_^_;)>

編集 削除
たかし  2003-02-27 17:35:17  No: 77226  IP: [192.*.*.*]

とろさんありがとうございました。
もうちょっと自分で調べてみます。

編集 削除
sato  2003-02-27 18:00:50  No: 77227  IP: [192.*.*.*]

PDDocGetVersionやPDDocEnumFontsはCoreAPIです。
VBから使うとなるとプラグインの開発が必要になります。
プラグインはVCで開発する必要があります。
AcrobatSDKのサンプルを参考にするとよいと思います。

編集 削除