たかしと申します。
よろしくおねがいします。
早速ですが、VBであるPDFが、Acrobat DistillerでPDF変換されたか
どうか調べたいです。
PDDocGetInfoというAPIを使用すればできるそうなのですが・・・
そのAPIをVBでどのようにすれば使用できるのかがわかりません。
このような経験をされた方がおりましたら、ご教授お願い致します。
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
とろさん、ありがとうございました。
大変参考になりました。
実は、VBを使用してあと2点、PDFのチェックを行いたいのですが・・・
1つめは、PDFのバージョンです。これは、PDDocGetVersionPDFというAPIを
使用するようなのですが、このAPIをAcrobatのリファレンスで調べてみたところ
私の調べ方がいけないのかもしれませんが、載っておりませんでした。
2つめは、埋め込まれているフォントをリストアップして、埋め込み禁止フォント
でないことを確認する、というものです。これは、PDDocEnumFontsや
PDFontGetName等のAPIを使用すると実現できるそうなのですが、これもAcrobatのリファレンスの載っておりませんでした。
以上、このような経験をされた方がおりましたら、ご教授お願い致します。また、
参考になるサイト等を知っている方がおりましたら、こちらのほうも宜しくお願い
致します。
ちょっと私には分かりません。少なくとも私が調べた限り、
GetVersion, EnumFont という文字が含まれる
メソッド、プロパティは存在しませんでした。
# 以下、私の推測
しかし、バージョンの方に関しては、
作成に使用したプリンタと同じように GetInfo で取得できそうな気がします。
"Producer" の代わりに指定する文字列が何なのか分かりませんが...
# ごめんね <(_^_;)>
とろさんありがとうございました。
もうちょっと自分で調べてみます。
PDDocGetVersionやPDDocEnumFontsはCoreAPIです。
VBから使うとなるとプラグインの開発が必要になります。
プラグインはVCで開発する必要があります。
AcrobatSDKのサンプルを参考にするとよいと思います。
ツイート | ![]() |