日別アーカイブ: 2018年9月7日

PDF Viewer SDKでPDF自動印刷

「pdf 自動印刷 コマンド」などで検索すると、たくさんのPDFファイルを一括印刷するために、Adobe Reader や Adobe Acrobat をバッチファイルやPowerShell/VBスクリプトなどから利用して、PDFファイルを自動で印刷する工夫をされている記事を多く見かけます。
『Antenna House PDF Viewer SDK』はWindows向けのPDFビューアー開発ライブラリですが、PDFの印刷機能も持ちます。この機能を使うと、Adobe ReaderやAdobe Acrobat がなくても、自由に印刷を制御するコマンドラインプログラムやサービスを開発することができます。この機能についてご紹介したいと思います。

印刷プログラムの開発には「PDF Viewer API」を利用します。C++/C APIのDLLです。
印刷処理は基本的には次の順序で用意されたAPIを呼び出します。

  1.  PDFファイルをオープンする。
  2.  PDFファイルの印刷を開始する。
  3.  ページ番号を指定してPDFページを印刷する。必要に応じて繰り返す。
  4.  PDFファイルの印刷を終了する。
  5.  PDFファイルをクローズする。

2の印刷開始時に、印刷先のプリンタや印刷設定を指定できます。

  • 印刷先指定(デバイスコンテキスト)
  • 印刷設定
  • 印刷ジョブの指定
  • 用紙選択(ページに合わせ自動選択、指定された用紙サイズを使用)
  • 用紙に合わせる/大きいページを縮小、拡大縮小率指定
  • ページへの配置(中央配置、左揃え、右揃えなど)

Windowsの一般的な印刷プログラムの話になりますが、印刷設定はDEVMODE構造体で指定します。このデータに必要な設定をすることで、

  • 用紙の向き
  • 用紙サイズの指定
  • 両面印刷

などの指定をすることもできます。

3でページの指定順序をかえることで、

  • 先頭から順に最後のページまで順に印刷
  • 指定ページのみ印刷
  • 指定部数や、部単位の印刷
  • 逆順に印刷

といった細かな制御をプログラム自身で行うことができます。

この処理を基本として

  • フォルダーを監視してフォルダー内のPDFを自動で一括印刷
  • 印刷ダイアログを出さずにサイレント印刷
  • ファイル名やフォルダーによってプリンタや印刷設定を変更して振り分け印刷
  • PDF Viewer SDK のウォーターマーク機能を使って、透かし強制的に挿入して印刷

といった、さまざまな形の印刷プログラムを開発することができます。

以上、PDF印刷機能のご紹介でした。 PDF印刷の自動化が必要になったら『Antenna House PDF Viewer SDK』をぜひご検討ください。

詳しい機能についてぜひ製品ページをご覧ください。
製品ページ:
https://www.antenna.co.jp/oem/ViewerSDK/

評価版をご用意しております。ぜひこの機会にお試しください!
評価版のお申し込み:
https://www.antenna.co.jp/oem/ViewerSDK/trial.html

お問い合わせ:
SDKは OEM販売 となります。OEMご相談窓口 へお問い合わせください。