トラスト・ソフトウェア・システム
トラスト・ソフトウェア・システム

PDF Viewer-印刷- C++(MFC)サンプル

PDF Viewer 「PDF Viewer」ソフトは、PDF文書を表示するためのコンパクトで洗練されたコンポーネントです。 このコンポーネントは、PDFのみならずTIFFやJPEGなどのラスタ画像をも表示でき、ディスプレイ上の文書を印刷することもできます。

PDFビューア・コンポーネントは、ユーザの利用できる機能を制限(保存や印刷機能を抑制)するアプリケーションを作成できます。

OCXとして利用できますので、リッチクライアントやWebアプリケーションなど多くのアプリケーションに統合できます。

WPFに対応しています。

他のC++(MFC)サンプルC#VB6.0 のサンプルを公開しています。
無償評価版(リンク先は英語)はこちらです。 ダウンロード手順
機能概要はこちらです。
PDF Viewer ソフト 購入(価格)

無償評価版のダウンロードとインストール

 ライブラリ(評価版API)は無償でダウンロード(試用)できますので、PDF Viewer ダウンロード手順を参照してダウンロードください。
 ファイルをダウンロードしてから、適当なフォルダーにインストールもしくは解凍します。以下のようなフォルダーができあがりますので、適宜ご利用ください。
binライブラリやライセンスマネージャー、およびフォントファイルなど
doc使用説明書など
includeC/C++用のヘッダー(.h)ファイル
libC/C++用のlibファイル
samples各種開発言語のサンプル
サンプルの実行前に、フォントを必要に応じてシステムのフォントフォルダーにコピーします。
ライブラリは、以下の手順に従って登録します。
1.bin/viewerOCX.dllをWindowsのSystem32フォルダーにコピーします。
日本語が文字化けする場合は、pdcjk.dllも同様にコピーしてください。
2.「コマンド プロンプト」を管理者権限で起動します。
3.Dllをコピーしたフォルダーに移動します。(例: C:\>cd \Windows\System32 を実行します。)
4."regsvr32 ViewerOCX.dll"を実行して登録します。成功を示すダイアログが表示されます。
5.Visual Studioのツールボックスで右クリックメニューで「アイテムの選択(I)...」を選択してツールボックス アイテムの選択ダイアログを表示させます。 表示したダイアログの「COMコンポーネント」タグをクリックします。表示されたコンポーネントの「PDFViewer Class」をチェックしてOKボタンを押下します。これによって、PDF Viewerツールがツールボックスに表示されます。

また、無償評価版と共にダウンロードしたライセンスキーをbin/LicenseManager.exeを使って登録してください。 ライセンスキーの登録方法はこちらです。

文書を印刷するMFCサンプルと解説

表示している文書の指定ページを印刷するMFCアプリケーションを作成します。
サンプルでは、ダイアログ ベースのMFCのアプリケーションを使用しますので、ウィザードなどで作成し、フォームに“PDF Viewer Class”を貼り付けておきます。 貼り付けたクラスにm_viewerという名前で変数を追加しておきます。
ダイアログクラスのOnInitDialog( )に以下のようにコードを追加します。
BOOL CPgeDlg::OnInitDialog()
{
    ...
    // TODO: 初期化をここに追加します。
    m_viewer.Open((LPCTSTR)"input.pdf",(LPCTSTR)"");   //PDF読み込み

    return TRUE;  // フォーカスをコントロールに設定した場合を除き、TRUE を返します。
}
Open( ) 指定されたPDF文書を表示します。 インターネット上のファイルを開く場合
引数は、以下を指定します。
第一引数表示するPDFファイルパスを指定します。
第二引数PDF文書が暗号化されている場合にパスワードを指定します。
暗号化されていない場合は、NULL文字列またはNULLを指定します。
ページを印刷する2っの方法
表示されている文書を印刷するには、以下の2っの方法が用意されています。
なお表示されている文書がPDF以外(PDF Viewerは画像データを表示できます)の場合でも同じ手順で印刷できます。
  1. 印刷用のダイアログで印刷を実施する。
  2. 印刷ジョブを作成して、プリンターとページを指定して印刷を実施する。
1.ダイアログで印刷
メニュー選択やボタンクリックなどのハンドラーで以下のコードを実行すると、ダイアログが表示され指定のプリンターで印刷します。
m_viewer.PrintDocumentDlg(TEXT("PDF Print"));
PrintDocumentDlg( ) ダイアログを表示して印刷します。
引数には、任意の印刷ジョブ名を指定します。
プリンター名や印刷するページおよび部数などをダイアログで設定します。
2.印刷ジョブで印刷
メニュー選択やボタンクリックなどのハンドラーで以下のように、プリンターや印刷するページを指定して印刷します。
プリンター名とページを指定して印刷します。ページの指定順や指定回数に制限はありませんので、印刷順や部数などを詳細に設定できます。
m_viewer.OpenPrinter("printer name");            //オープン
m_viewer.BeginDocument("The print job.");        //印刷ジョブ開始
m_viewer.PrintPage(2);                           //2ページめを印刷
m_viewer.PrintPage(3);                           //3ページめを印刷
m_viewer.PrintPage(1);                           //1ページめを印刷
m_viewer.EndDocument();                          //印刷ジョブ終了
m_viewer.ClosePrinter()                          //印刷終了
OpenPrinter( ) プリンター名を指定
引数にプリンター名を指定します。プリンター名は、コントロールパネルのプリンタで表示される名前です。
BeginDocument( ) 印刷ジョブ開始
引数に任意の印刷ジョブ名を指定します。
EndDocument( )までの間で指定したページが印刷されます。
PrintPage( ) ページ指定
引数に印刷するページをページ番号で指定します。印刷するページ数だけ繰り返して指定します。
EndDocument( ) 印刷ジョブ終了
ClosePrinter( ) プリンターを閉じる

インターネット(Web)上のPDF文書を直接表示する

PDF Viewerは、PDF文書を指定する際に、インターネット(Web)上のファイルを指定できます。
PDFファイルを指定する場合に、以下の形式で指定するとHTTPプロトコルでファイルにアクセスします。
http://[username:password@]domain[:port][/resource]
"username"および"password"は基本認証(Basic Authentication)のユーザー名とパスワード指定です。
またhttp:以外に、https:(HTTPS)、ftp:(FTP)も使えます。
サンプルでファイルを指定する際に以下のようにコードを変更すると、ネットワーク上のPDF文書を対象にします。
if (!m_viewer.Open(TEXT("http://www.pdf-tools.trustss.jp/data/Receipt2.pdf"), TEXT("")))
{
 ...
}

サンプル

 C++のサンプルは、こちらです。

ご質問、お問い合わせ

 メールで support@TrustSS.co.jp 宛てにお送りください。
または、質問のページからお送りいただくようお願いします。ご要望も承っております。(匿名で送れます。)

(記載の会社名および製品名は、各社の登録商標および商標です。)
PDF製品 C++サンプル
PDF Security
PDF Validator
PDF to PDF/A Converter
PDF to Image Converter
PDF Imager-LP
Image to PDF Converter
PDF Printer
PDF Viewer
PDF Viewer-L
PDF Prep Tool Suite
PDF Optimization
PDF Command Line Suite
PDF Extract
PDF Easy Parse
PDF Viewr サンプル
C++ サンプル
PDF文書を表示
「しおり」を非表示に
文書の指定ページを表示
レイアウトモード変更
フィットモード・拡大
Webリンクを表示
文書を比較表示
領域にズームイン
文書印刷
ページを回転表示
C# サンプル
VB6.0 サンプル
株)トラスト・ソフトウェア・システム
暗号化・電子署名・タイムスタンプ ライブラリ作成します。
お問い合わせください。