• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:AdobeReader8.0の機能を使っての印刷)

AdobeReader8.0の機能を使っての印刷

このQ&Aのポイント
  • WindowsXP・VB2005で作成したアプリケーションで、Adobe Acrobat5.0が入っているマシンでAdobe Acrobat5.0 type LibraryのPrintPagesSilent機能を使ってPDFの印刷をしているのですが、Adobe Reader8.0しか入っていないマシンでPDFの印刷をすることになりました。
  • 参照設定の中にAdobe Acrobat8.0 type Libraryが見つからず、ライブラリが使えない場合、独自の印刷ダイアログを使用する方法を探しています。
  • アプリケーションを使用する環境はWindowsXPです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Acrobat 8.0、あるいは Adobe Reader 8.0 ( あと、Adobe の SDK も?)がインストールされていないと Adobe Acrobat 8.0 type Library は使用できません。 (1) とりあえず、Adobe Acrobat 5.0 type Library でコンパイルしたものを、Adobe Acrobat 8.0 がインストールされている PC で実行させてみる。 (1) で正常に動作しない場合は、 (2) Adobe Acrobat 5.0 type Library の参照設定を外し、 Dim AVDoc As Acrobat.CAcroAVDoc Dim PDDoc As Acrobat.CAcroPDDoc といった宣言を全て Dim AVDoc As Object Dim PDDoc As Object に書き換えてコンパイルする。 (3) Adobe Acrobat 8.0 や Adobe Reader 8.0 をインストールし、参照設定で Adobe Acrobat 8.0 type Library を設定してコンパイルする。 のどちらかになると思います。

sazusa
質問者

お礼

tsukasa-12r様 回答ありがとうございます。 Adobe Acrobat 8.0 type Libraryが見つからなかったのは、Adobe Reader8.0がインストールされていないためでした。 教えてもらった通りにコードを修正してみたのですが、 AVDoc = CreateObject("AcroExch.AVDoc") のところで「ActiveX コンポーネントを作成できません。」というエラーメッセージが返ってきてしまいます。 もしかすると馬鹿みたいな質問かもしれませんが、教えてもらえると助かります。 一応コードを載せておきます。 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim FName As String = "C:\sample.pdf" 'Dim AVDoc As Acrobat.CAcroAVDoc 'Dim PDDoc As Acrobat.CAcroPDDoc '↑を↓に書き換えた Dim AVDoc As Object Dim PDDoc As Object Dim R1 As Long Dim wkPage As Long ' PDFファイルを開く AVDoc = CreateObject("AcroExch.AVDoc") '←←← ここでエラーが出る R1 = AVDoc.Open(FName, "") If Not CBool(R1) Then MsgBox("Openに失敗したため処理を中止します。") Exit Sub End If PDDoc = AVDoc.GetPDDoc() ' ページ数を取得する wkPage = PDDoc.GetNumPages() ' 印刷する R1 = AVDoc.PrintPagesSilent(0, wkPage -1, 1, CLng(True), CLng(True)) If Not CBool(R1) Then MsgBox("印刷に失敗しました。") End If ' PDFファイルを閉じる AVDoc.Close(CLng(False)) End Sub End Class

すると、全ての回答が全文表示されます。

関連するQ&A