DOBON.NET DOBON.NETプログラミング掲示板過去ログ

PDFファイルをページ指定で閲覧・印刷

環境/言語:[Windows2000 VB6.0 AcrobatReader]
分類:[VB6以前]

VB6.0でPDFファイルを指定ページで開いたり、印刷を行おうとしています。
検索サイトでコードを入手したのですが、Acrobatがインストールされていないと動かないようです。
クライアントにインストールできるのはライセンスフリーのAcrobatReaderだけなので非常に困っています。
なんとかしてVB6.0+AcrobatReaderでPDFファイルの閲覧・印刷はできないでしょうか?

検索サイトで見つけたソースを以下に書いておきます。
-------------------------------------------------------------------
Private Sub Command1_Click()

Dim bok As Boolean
Dim AcroApp As Object, AVDoc As Object
Dim avPageView As CAcroAVPageView ', pdPage As CAcroPDPage

'操作するPDFファイルを定義する。
Set AcroApp = CreateObject("AcroExch.App")
Set AVDoc = CreateObject("AcroExch.AVDoc")
bok = AVDoc.Open(Text1, "") 'Text1.Text = "c:\test.pdf"

AcroApp.Show 'pdfファイルを開く(1ページ:内部的には0ページ目)

'開いているPDFファイル(AVDOC)に対して制御する。
Set avPageView = AVDoc.GetAVPageView()
' Set pdPage = avPageView.GetPage()

avPageView.GoTo (Val(Text4.Text)) '0,1,2,3・・ページを指定して開く
Text2.Text = avPageView.GetPageNum '現在開いているページ番号
Text3.Text = AVDoc.GetTitle '現在開いているファイル名

'但し、Acrobat Reader で使用できるメンバ関数は一部のみ??

' AcroApp.Show 'ここでpdfファイルを開いてもOK

End Sub

-------------------------------------------------------------------
pdf.ocx を使えばできるでしょう。
インストールフォルダ以下を検索すれば見つかります。
■No2280に返信(xp2さんの記事)
> pdf.ocx を使えばできるでしょう。
> インストールフォルダ以下を検索すれば見つかります。

返答ありがとうございます。
早速使ってみたのですが、気になる点がいくつかありました。
(私の使い方が間違っているだけかもしれませんが)

 1.PDFファイルを開いた時(初回)にAcrobat Readerのスプラッシュが表示される
 2.プログラムを終了しても、プロセスにAcroRd32.exeが残ってしまう
 3.印刷を行おうとすると毎回Acrobat Readerが警告を出す
 4.印刷警告ウィンドウの「今後、このメッセージを表示しない」にチェックを入れると、それ以降印刷を行うことができない

1番は妥協するにしても、それ以外が致命的な感じがします。
なんとか回避できないでしょうか?

以下が作成したコードです。

Private Sub Command1_Click()
 Dim Ret As Boolean

 Ret = Pdf1.LoadFile("C:\Test.pdf") 'PDFファイル(全49ページ)のロード
 If Ret = True Then
  Call Pdf1.setShowToolbar(False) 'ツールバーを非表示にする
  Call Pdf1.setCurrentPage(3) '3ページ目を表示
  Call Pdf1.printPages(3, 5) '3〜5ページを印刷する
 End If
End Sub

DOBON.NET | プログラミング道 | プログラミング掲示板