PDF Tools ホーム > PDF Tools ライト > PDF Viewer-L > C++サンプル > PDF表示

PDF Viewer-L 画面表示のために開くサンプルと解説 C++

「PDFViewer-L」は、PDF文書を表示するためのライブラリです。

PDF Viewer-L Package
機能を制限することでお求め安くしました。PDF Viewer-Lは、ライト(軽量)ではありますがPDFのもつ文書内リンクやWebリンクの情報はイベントを介して取得でき、サムネールやしおり情報もメソッドを介して取得できます。これらの情報を利用して独自のPDF表示アプリケーションを構築できます。

PDF Viewer-L 購入(価格)

C# によるPDF表示サンプルは、こちらです。

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

PDF Viewer-Lライブラリは、無償でダウンロードして試用できます。以下のリンクをクリックしてダウンロードしてください。なお、試用に際しては評価用のライセンスキーが必要ですので必ずダウンロードしてください。
評価用ライセンスキーには利用期限がありますが、何度ダウンロードしてもかまいません。

インストール

ダウンロードしたファイルは、適当なフォルダーに解凍します。以下のようなフォルダーができあがりますので、適宜利用します。

binライブラリ
doc使用説明書やライセンス契約書
includeC/C++用のヘッダー(.h)ファイル
samples各種開発言語によるサンプルコード

サンプルの実行前にライブラリ(OCX)を以下の手順に従って登録します。

  1. 「コマンド プロンプト」を管理者権限で起動します。
  2. ファイルを解凍したフォルダー内のbinフォルダーに移動します。
  3. "regsvr32 vwl.ocx"を実行して登録します。成功を示すダイアログが表示されます。
  4. Visual Studioを起動します。
  5. Visual Studioのツールボックス内で、右クリックしてコンテキストメニューの「アイテムの選択(I)...」を選択してツールボックス アイテムの選択ダイアログを表示させます。
  6. 表示したダイアログの「COMコンポーネント」タグをクリックして、コンポーネントの「PdfViewerL Control」をチェックします。これによって、PDF Viewer-Lツールがツールボックスに現れます。

PDFを表示するMFCサンプル

PDF文書を表示するMFCのアプリケーションのサンプルを記します。
サンプルでは、ダイアログ ベースのMFCアプリケーションを使用します。あらかじめウィザードなどで作成し、フォームに“PdfViewerL Control”を貼り付けておきます。貼り付けたコントロールにm_Viewerという変数を追加しておきます。

ダイアログクラスのOnInitDialog()に以下のコードを追加します。

BOOL CopenDocDlg::OnInitDialog()
{
    ...
    // TODO: 初期化をここに追加します。
    m_Viewer.InitCtrl(_T("ライセンスキー"));
    m_Viewer.Open(_T("PDF Viewer-L.pdf"), _T(""), _T(""));

    return TRUE;  // フォーカスをコントロールに設定した場合を除き、TRUE を返します。
}

アプリケーションを起動すると、PDF Viewer-Lコントロールを初期化し、指定されたPDFファイルを表示します。使用するメソッドは以下のとおりです。

InitCtrlコントロールを指定のライセンス・キーで初期化します。
引数にライセンスキー文字列を指定します。ライセンスキーは、こちらからダウンロードしてください。
Open指定のPDFをコントロールに表示します。
以下の引数を指定します。
第一引数表示するPDFのファイルパスを指定します。
第二引数PDFがパスワードで暗号化されている場合にオーナーパスワードを指定します。
暗号化されていない場合は、NULL文字を指定します。
第三引数PDFがパスワードで暗号化されている場合にオーナーパスワードを指定します。
暗号化されていない場合は、NULL文字を指定します。
暗号化されている場合で、多くの場合はオーナーパスワードのみの指定で復号できます。
暗号化されたPDFに正しいパスワードを指定しなかった場合は、エラーになりPDFは表示されません。このような場合は、暗号化したPDFを開くのようにしてください。

以下のようなウインドウが表示されます。
PDF Viewer-L Open Sample

暗号化されたPDFを開く C++サンプル

パスワードで暗号化されたPDFを表示するMFCのアプリケーションを作成します。
サンプルでは、ダイアログ ベースのMFCアプリケーションを使用します。あらかじめウィザードなどで作成し、フォームに“PdfViewerL Control”を貼り付けておきます。貼り付けたコントロールにm_Viewerという変数を追加しておきます。

ダイアログクラスのOnInitDialog()に以下のコードを追加します。

BOOL CopenDocDlg::OnInitDialog()
{
    ...
    // TODO: 初期化をここに追加します。
    long    ret;
    CString pwd = _T("");

    m_Viewer.InitCtrl(_T("ライセンスキー"));
    while(true){
        ret = m_Viewer.Open(_T("PDF Viewer-L_p_123.pdf"), pwd, _T(""));
        if(ret == VWL_E_SUCCESS)
            break;
        else if(ret == VWL_E_PASSWORD){
            pwd = _T("123");
            continue;
        }else{
            AfxMessageBox(_T("ファイルを開けません。"));
            break;
        }
    }

    return TRUE;  // フォーカスをコントロールに設定した場合を除き、TRUE を返します。
}

アプリケーションを起動すると、PDF Viewer-Lコントロールを初期化した後に、暗号化されたPDFを空文字のパスワードで表示しようとします。
PDFがパスワードで暗号化されていると、空文字のパスワードでは復号できませんのでVWL_E_PASSWORDエラーとなります。
そこで、正しいパスワード("123")を指定して表示させます。
メソッドの説明 を参照してください。

ファイルのオープン イベントを捕捉する

PDF Viewer-Lコントロールは、PDFファイルのオープンの後にイベントを発火させます。
このイベントは、以下のように登録されたイベントハンドラーで処理できます。

BEGIN_EVENTSINK_MAP(CopenDocDlg, CDialog)
  ON_EVENT(CopenDocDlg, IDC_PDFVIEWERLCTRL1, 101, CopenDocDlg::OnOpenPdfviewerlctrl1, VTS_I4 VTS_R4 VTS_I4)
END_EVENTSINK_MAP()

PDFファイルをオープンした後でなければ取得できない属性(総ページ数、しおりやサムネール画像)の取得は、上記で登録されたイベント ハンドラーで取得します。

void CopenDocDlg::OnOpenPdfviewerlctrl1(
    long  pageIndex,   // 表示したページのインデックス
    float zoomVal,     // 表示の倍率
    long  err)         // エラー コード
{
    // ここで、総ページ数やしおり、サムネール画像などを取得します。
}

サンプル ソースコード

PDF Viewer-Lのサンプル ソースコードは、以下からダウンロードしてください。

   ソースコード: vwlSample_2_3.zip

無償評価 PDF Viewr-L ライブラリ

PDF Viewer-Lライブラリは、無償でダウンロードして試用できます。以下のリンクをクリックしてダウンロードしてください。なお、試用に際しては評価用のライセンスキーが必要ですので必ずダウンロードしてください。
評価用ライセンスキーには利用期限がありますが、何度ダウンロードしてもかまいません。

ご質問、お問い合わせ

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