PDF Printer(PDF文書印刷) VB6.0サンプル
「PDF Printer」ソフトは、PDF文書を印刷するためのコンポーネントです。
このコンポーネントは高いパフォーマンスと統合のし易さが特徴で、以下の3つのバージョンで提供しています。
表示しているPDF文書を印刷する場合は、PDFViewer(PDF表示)でも印刷できます。
このコンポーネントは高いパフォーマンスと統合のし易さが特徴で、以下の3つのバージョンで提供しています。
- APIバージョンではアプリケーションに印刷機能を追加でき、それを制御します。
- コマンドライン(バッチ処理)での大量印刷。
- バックグラウンドでの自動印刷を行うサービス。
表示しているPDF文書を印刷する場合は、PDFViewer(PDF表示)でも印刷できます。
無償評価版のダウンロードとインストール
ライブラリ(評価版API)は無償でダウンロード(試用)できますので、PDF Printer ダウンロード手順を参照してダウンロードください。
ファイルをダウンロードしてから、インストールもしくは適当なフォルダーに展開します。以下のようなフォルダーができあがりますので、適宜ご利用ください。
サンプルの実行前に、bin/PdfPrintAPI.dllをサンプル実行イメージと同じフォルダーにコピーしてください。また、無償評価版と共にダウンロードしたライセンスキーをbin/LicenseManager.exeを使って登録してください。
ライセンスキーの登録方法はこちらです。
ファイルをダウンロードしてから、インストールもしくは適当なフォルダーに展開します。以下のようなフォルダーができあがりますので、適宜ご利用ください。
bin | ライブラリやライセンスマネージャーなど |
doc | 使用説明書やjavadocなど |
include | C/C++用のヘッダー(.h)ファイル |
jar | PRNA.jar(Javaのラッパー) |
lib | C/C++用のlibファイル |
samples | 各種開発言語のサンプル |
プロジェクトの作成と参照設定
- 標準 EXEプロジェクトを新規に作成します。
- PDF Printerライブラリを参照する設定をします。
- フォームにボタンなどを貼り付け、そのClickハンドラーを準備しておきます。
Visual Basic6.0のメインメニューで、「プロジェクト(P)」→「参照設定(N)...」を選択します。
以下のようなダイアログが表示されますので、「3-Heights(TM) PDF Printer API〜」を探して、チェックをします。この項目が見つからない場合は、ダイアログの参照ボタンを押下して、「PDF Printer」をインストールもしくは展開したフォルダー内の PdfPrinterAPI.dll を指定します。
以下のようなダイアログが表示されますので、「3-Heights(TM) PDF Printer API〜」を探して、チェックをします。この項目が見つからない場合は、ダイアログの参照ボタンを押下して、「PDF Printer」をインストールもしくは展開したフォルダー内の PdfPrinterAPI.dll を指定します。
次に、このハンドラーにコードを追加して印刷できるようにします
1っのPDF文書を1っのプリンターで印刷する
以下のコードをボタンなどのハンドラーに追加すると、1っのPDFを1っのプリンターで印刷する機能を実装できます。
複数のPDF文書を複数のプリンターに振り分けて印刷する場合は、「複数のPDF文書を1っのプリンターで印刷する」を参照してください。
複数のPDF文書を複数のプリンターに振り分けて印刷する場合は、「複数のPDF文書を1っのプリンターで印刷する」を参照してください。
Private Sub Print_SingleDoc_to_SinglePrinter_Click() Dim printer As New PDFPrinter printer.PrintFile("some.pdf","") End Sub
PDFPrinter | PDFを印刷するためのクラスです。 はじめに、このクラスのインスタンスを生成します。 | ||||||||||
PrintFile() | 指定のPDF文書を指定のプリンターで印刷します。 このサンプルの場合は、""を指定していますので、デフォルトのプリンターで印刷します。 各引数には以下の値を指定します。
|
1っのPDF文書を1っのプリンターで印刷する(別の方法)
以下のコードをボタンなどのハンドラーに追加すると、1っのPDFを1っのプリンターで印刷する機能を印刷ジョブの開始と終了をコントロールするように実装できます。
Private Sub Print_SingleDoc_toSinglePrinter_2_Click() Dim printer As New PDFPrinter 'プリンター printer.OpenPrinter("") '印刷ジョブを開始 printer.BeginDocument("My Print Job") 'PDF文書を開く printer.Open("some.pdf") printer.PrintPage(1) printer.Close '印刷ジョブを終了 printer.EndDocument printer.ClosePrinter End Sub
PDFPrinter | PDFを印刷するためのクラスです。 はじめに、このクラスのインスタンスを生成します。 |
OpenPrinter | 指定のプリンターとの接続を開始します。 |
BeginDocument | 印刷ジョブを開始します。 |
Open | 印刷するPDF文書を開きます。 (インターネット上のPDFを開く場合) |
PrintPage | 印刷するページを指定します。この指定は、BeginDocumentとEndDocumentの間で実行します。 すべてのページを印刷する場合は、以下のようにします。 For n = 1 To printer.PageCount printer.PrintPage(n) Next n |
Close | PDF文書をクローズします。 |
EndDocument | 印刷ジョブを終了します。 |
Closeprinter | プリンターとの接続を終了します。 接続を終了する前には、開始した印刷ジョブを必ず終了します。 |
複数のPDF文書を1っのプリンターで印刷する
以下のコードをボタンなどのハンドラーに追加すると、複数のPDF文書を1っのプリンターで印刷する機能を実装できます。
この実装では、2っのPDF文書それぞれ1ページめを同一のプリンターで1っのプリントジョブとして印刷します。
この実装では、2っのPDF文書それぞれ1ページめを同一のプリンターで1っのプリントジョブとして印刷します。
Private Sub Print_MultiDocs_to_SinglePrinter_Click() Dim printer As New PDFPrinter 'プリンター printer.OpenPrinter("") '印刷ジョブ開始 printer.BeginDocument("my print job") '1っめのPDF文書 printer.Open("first.pdf") printer.PrintPage(1) '最初のページを印刷 printer.Close '2っめのPDF文書 printer.Open("second.pdf") printer.PrintPage(3) '3ページめを印刷 printer.Close '印刷ジョブ終了 printer.EndDocument printer.Closeprinter End Sub
PDFPrinter | PDFを印刷するためのクラスです。 はじめに、このクラスのインスタンスを生成します。 |
OpenPrinter | プリンターとの接続を開始します。 |
BeginDocument | 印刷ジョブを開始します。 |
Open | 印刷するPDF文書をオープンします。 (インターネット上のPDFをオープンする場合) |
PrintPage | オープンされたPDF文書の印刷するページを指定します。 すべてのページを印刷する場合は、以下のようにします。 For n = 1 To printer.PageCount printer.PrintPage(n) Next n |
Close | PDF文書をクローズします。 2っめ以降のPDFはそれ以前のPDFをCloseした後にOpenし、PrintPageで印刷するページを指定します。 |
EndDocument | 印刷ジョブの指定を終了します。 印刷ジョブを終了する前には、オープンしたPDF文書を必ずクローズします。 |
ClosePrinter | 印刷処理を終了します。 印刷処理を終了する前には、開始した印刷ジョブを必ず終了します。 |
1っのPDF文書を複数のプリンターで印刷する
以下のコードをボタンなどのハンドラーに追加すると、1っのPDF文書を複数のプリンター(複数の印刷ジョブ)で印刷する機能を実装できます。
この実装では、1っのPDF文書の1ページめと、2から3ページめをそれぞれ別のプリンターで印刷します。
この実装では、1っのPDF文書の1ページめと、2から3ページめをそれぞれ別のプリンターで印刷します。
Private Sub Print_SingleDoc_to_MultiPrinters_Click() Dim printer As New PDFPrinter '(1) 'PDF文書を開く printer.Open("some.pdf") '(2) '1っめのプリンター printer.OpenPrinter("") '(3) '印刷ジョブ printer.BeginDocument("my print job") '(4) printer.PrintPage(1) '(5) printer.EndDocument '(6) printer.ClosePrinter '(7) '2っめのプリンター printer.OpenPrinter("The second printer") '(8) '印刷ジョブ printer.BeginDocument("my print job") '(9) printer.PrintPage(2) '(10) printer.PrintPage(3) '(11) printer.EndDocument '(12) printer.ClosePrinter '(13) 'PDF文書を閉じる printer.Close '(14) End Sub
(1) | PDFPrinter | PDFを印刷するためのクラスです。 はじめに、このクラスのインスタンスを生成します。 |
(2) | Open | 印刷するPDF文書をオープンします。 (インターネット上のPDFをオープンする場合) |
(3) | OpenPrinter | プリンターをオープンします。 このサンプルでは、最初にデフォルトのプリンターを指定します。 |
(4) | BeginDocument | 印刷ジョブを開始します。 |
(5) | PrintPag | 1ページめを印刷するように指定します。 |
(6) | EndDocument | 印刷ジョブを終了します。 |
(7) | ClosePrinter | 最初にオープンしたデフォルトのプリンターをクローズします。 |
(8) | OpenPrinter | プリンター名を指定してオープンします。 このサンプルでは、デフォルトのプリンターではなくプリンター名を指定しています。 |
(9) | BeginDocument | 2っめの印刷ジョブを開始します。 同じ名前を指定しても別のジョブになります。 |
(10) | PrintPage | 2ページめを印刷するように指定します。 |
(11) | PrintPage | 3ページめを印刷するように指定します。 |
(12) | EndDocument | 2っめの印刷ジョブを終了します。 |
(13) | ClosePrinter | 2っめにオープンしたプリンターをクローズします。 |
(14) | Close | 印刷処理を終了します。 |
インターネット上のPDF文書を指定して印刷する方法
PDF Printerは、PDF文書を指定する際にHTTPプロトコルでファイルを指定できます。以下の形式で指定します。
http://[username:password@]domain[:port][/resource]"username"および"password"は基本認証(Basic Authentication)のユーザー名とパスワード指定です。
このように指定すると、ネットワーク上のPDF文書を直接指定のプリンターで印刷できます。複数のPDF文書を指定する場合は、ローカルのPDFとネットワーク(Web)上の(リモート)PDFを混在させることもできます。
具体的には、以下のようにファイルを指定します。
具体的には、以下のようにファイルを指定します。
printer.Open("http://www.pdf-tools.trustss.co.jp/data/Receipt2.pdf")
サンプルコード
VB6.0 PDF Printer サンプル(MS Visual Basic6.0 Project) PDFprnVb6.zip
ご質問、お問い合わせ
(記載の会社名および製品名は、各社の登録商標および商標です。)