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


たかし  2003-02-26 03:34:06  No: 77222

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


とろ  2003-02-26 19:14:47  No: 77223

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 21:44:58  No: 77224

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


とろ  2003-02-27 02:19:22  No: 77225

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

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

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


たかし  2003-02-28 02:35:17  No: 77226

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


sato  2003-02-28 03:00:50  No: 77227

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加