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

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