カテゴリー別アーカイブ: PDF Viewer

PDF Viewer SDK V3.4 リリース、PDFViewerAPIが64ビット対応

PDF Viewer SDK は、独自のWindows用PDFビューアーを開発するための組み込み用SDKです。OEM製品としてご提供しております。

PDF Viewer SDK には、PDFファイルのディスプレイへの描画(レンダリング)、画像ファイル出力、印刷が可能なライブラリであるPDFViewerAPI(C/C++)と、コントロールを貼り付けることで簡単にPDFビューアーの開発が可能なPDFViewerCtrl(ActiveX/.Net)の二つのコンポーネントがあります。

今回リリースされたV3.4では、PDFViewerAPI が 64ビットに対応しました。
(※PDFViewerCtrlは32ビット版のみです。)

従来は、64ビットOS上では WOW64エミュレーションにより32ビットで動作しておりました。今回より64ビットネイティブアプリケーションからも利用できるようになります。

  • アプリケーションが64ビットで開発されており、32ビット版が利用できない。
  • 32ビット版ではメモリ上限に達することがありメモリ不足になるケースを減らしたい。

などの場合、64ビット版のご利用をぜひご検討ください。

PDF Viewer SDK の機能その他の詳細について、下記のWebページをご覧ください。
また評価版もご用意しておりますので、ご興味のある方はぜひ評価版をお試しください。

PDF Viewer SDK
https://www.antenna.co.jp/oem/ViewerSDK/
評価版のお申し込み:
https://www.antenna.co.jp/oem/ViewerSDK/trial.html
お問い合わせ:
SDKはOEM販売となります。OEMご相談窓口へお問い合わせください。


PDF Viewer SDK で簡単PDFビューア作成(3)

前回、PDFを開くところまでアプリケーションを作成しました。
今回は、ページ送りなどの動作を追加して、もう少しビューアらしくしたいと思います。

ページ移動ボタンの追加

先頭/前/次/最終の各ページへの移動用ボタンを追加していきます。フォームデザイナでボタンを4つ貼り付け、Textプロパティを「<<」「<」「>」「>>」とします。

ボタン追加画面

ボタン追加画面

「開く」ボタンのコードを追加したときと同様に、ボタンクリック動作のメソッドを自動生成してコードを追加して行きます。

private void button2_Click(object sender, EventArgs e)
{
   pdfPageViewCtrl1.GotoFirstPage();
}
private void button2_Click(object sender, EventArgs e)
{
   pdfPageViewCtrl1.GotoFirstPage();
}
private void button3_Click(object sender, EventArgs e)
{
   pdfPageViewCtrl1.GotoPreviousPage();
}
private void button4_Click(object sender, EventArgs e)
{
   pdfPageViewCtrl1.GotoNextPage();
}
private void button5_Click(object sender, EventArgs e)
{
   pdfPageViewCtrl1.GotoLastPage();
}

コードはコントロールのページ移動用のメソッドを呼び出すだけです。
これでページ移動動作の実装は完了です。

表示モードの追加

次は表示モードを変更してみます。「幅に合わせる」「全体表示」ボタンを追加します。

表示モードの変更:ボタンの追加

表示モードの変更:ボタンの追加

同じくボタンの動作を作成します。ボタンクリック時のコードは下記を入力します。


private void button6_Click(object sender, EventArgs e)
{
   pdfPageViewCtrl1.ViewMode = AvsDotNetGuiCtl.AvsViewMode.AVM_FITWIDTH;
}
private void button7_Click(object sender, EventArgs e)
{
   pdfPageViewCtrl1.ViewMode = AvsDotNetGuiCtl.AvsViewMode.AVM_FITPAGE;
}

ここでは、PDFPageViewCtrlのViewModeプロパティを設定することで表示モードを変更しています。AVM_FITWIDTHが幅に合わせる、AVM_FITPAGEがページ全体表示に対応します。

アプリケーションの実行

ではアプリケーションを実行して見ましょう。

ビューア確認画面

ビューア確認画面

ページ移動のボタンで、ページ移動ができるようになっていると思います。
全体表示ボタンを押すと、ページ全体が表示されます。

このように、PDFViewCtrlに用意されたメソッドやプロパティを操作することで、簡単にビューア機能を組み込みアプリケーションから制御ができます。

SDK にはサンプルアプリケーションとして、本格的なビューアのサンプルソースコードも付属していますので、これをそのまま利用することもできます。

作成したPDFビューア(サンプル)

作成したPDFビューア(サンプル)

ご興味のある方はぜひ評価版をお試しください。
以上、PDFViewerCtrlのご紹介でした。
PDF Viewer SDK で簡単PDFビューア作成(4)に続きます。

評価版のお申し込み:
https://www.antenna.co.jp/oem/ViewerSDK/trial.html
お問い合わせ:
SDKはOEM販売となります。OEMご相談窓口へお問い合わせください。


PDF Viewer SDK で簡単PDFビューア作成(1)

『Antenna House PDF Viewer SDK』は PDF表示機能をアプリケーションに組み込むための開発者向けSDKです。
SDKに含まれるPDFViewerCtrlはGUIアプリケーションに簡単にPDFビューア機能を組み込むことを目的としたコンポーネントです。本日はPDFViewerCtrlを使用して、簡単なPDFビューアを作成して見たいと思います。.Net/ActiveXで開発が可能ですが、今回は.Net版を利用してC# でフォームアプリケーションを作成します。

開発環境
  • Visual Studio 2010 SP1(Visual C#)
  • .Net Framework 4.0

プロジェクトの作成

開発の準備としてVisual Studioを起動する前に、環境変数”Path”にbin¥Win32 フォルダのパスを追加しておきます(.Net版の場合のみ)。
Visual Studioを起動したら、新しいプロジェクトを作成します。 [ファイル]-[新規作成]-[プロジェクト]から「新しいプロジェクト」ダイアログを開きます。

Visual Studio 起動画面

Visual Studio 起動画面

今回は C#フォームアプリケーションとして開発するので、VisualC#の「Windowsフォーム アプリケーション」を選択します。
適当なプロジェクト名(ここでは” AvsDotNetGuiSample”)を入力し[OK]を押すと、プロジェクトが作成されます。

作成されたプロジェクト画面

作成されたプロジェクト画面

PDFViewerCtrlの登録

次にPDFViewerCtrlをツールボックスから選択しフォームデザイナ上で貼り付けられるようにするためにVisual Studioに登録します。

メニューから[ツール]-[ツールボックス アイテムの選択]を選ぶと「ツールボックスアイテムの選択」ダイアログが表示されます。このダイアログで、右下の「参照…」ボタンを押してbin¥Win32ディレクトリにある AvsDotNetGuiCtl.dllを選択します。

ツールボックス:アイテム選択画面

ツールボックス:アイテム選択画面

すると「.Net Frameworkコンポーネント」タブに “PDFPageViewCtrl” “PDFThumbnailCtrl”が表示されます。それぞれ、PDF表示用コントロール、サムネイル表示用のコントロールになります。今回は“PDFPageViewCtrl”を利用していきます。

“PDFPageViewCtrl” “PDFThumbnailCtrl”にチェックが付いていることを確認して[OK]を押します。

ダイアログが閉じたあと Visual Studioのツールボックスペインを開くと、“PDFPageViewCtrl” “PDFThumbnailCtrl”のアイコンが追加されているのを確認してください。

アイコン追加確認画面(画像右下)

アイコン追加確認画面(画像右下)

以上で、コントロールを貼り付ける準備が出来ました。

次回は、実際にコントロールを貼り付けて、PDFファイルをオープンするコードを追加して行きたいと思います。


PDF Viewer SDK で PDFテキスト抽出

Antenna House PDF Viewer SDKはPDF表示のためのSDKですが、表示以外にも PDFファイル内のテキストを抽出することができます。今回はこの機能をご紹介したいと思います。

テキスト抽出に利用するのはSDKの PDFViewerAPI です。
開発言語は C/C++ が利用できます。

矩形内テキスト取得(getTextInRect)

ページとそのページの矩形を指定してテキストを抽出します。

 例)矩形 (4535, 3798)-(7933, 4535) → テキスト “UVWXYZ”

矩形内テキスト取得画面

 座標系は、原点は左上、x軸は右方向、y軸は下方向に増加します。
 長さの単位はTWIPで1/20ポイント、1/1440インチに相当します。
 TWIP は「Twentieth of an Inch Point」の略だそうです。

 1インチは 25.4mm ですので、
 1 mm = 1440/25.4 TWIP ≒ 56.69 TWIP の計算になります。

 例1 の矩形は、mm 単位では (80.0, 67.0) – (141.0, 80.0) になります。

文字単位でのテキストおよび座標の抽出(getPageTextString/getPageTextRegion)

ページと、そのページ内での文字の開始位置と終了位置を指定して、テキスト(getPageTextString)もしくはテキスト領域(getPageTextRegion)を取得します。

  • 例)開始位置 20、終了位置 26 → テキスト “UVWXYZ”
  • 例)開始位置 0、終了位置 1  → テキスト “A”
文字単位でのテキストおよび座標の抽出 (getPageTextString/getPageTextRegion)

文字単位でのテキストおよび座標の抽出
(getPageTextString/getPageTextRegion)

(開始位置, 終了位置)=(0, 1), (1, 2)のように進めることで、PDF内の文字との文字領域を順に取得することもできます。

なお、テキストの順序は PDFのページに文字コードが現れる順になります。
PDFによっては必ずしも見た目の順と一致しない場合がありますので、注意が必要です。

以上、PDF表示以外での利用方法のご紹介でした。
 
評価版のお申し込み:
https://www.antenna.co.jp/oem/ViewerSDK/trial.html
お問い合わせ:
SDKはOEM販売となります。OEMご相談窓口へお問い合わせください。


Pages: Prev 1 2 3