トラスト・ソフトウェア・システム
 >   >   > プログラミング
 

5               プログラミング インターフェース

5.1       Visual Basic 6

3-Heights™ PDF to Image Converter APIインストール(または解凍)の後にはVisual Basicのサンプルpdf2imgOCX.vbpsamples/VB/に格納されています。新しいアプリケーションは、このサンプルをベースにして作成することもできますし、ゼロから作成することもできます。

もし、ゼロから開始するならば、最初に標準EXEプロジェクトを作成し、“3-Heights™ PDF to Image Converter API”のコンポーネントをそのプロジェクトに追加します。

作成したプロジェクトで、アプリケーションを以下のように変更します。

1.      コマンドボタンを追加し、それに適当な名前を設定します。

2.      コマンドボタンをダブルクリックしハンドラーを表示します。表示されたハンドラーに以下のようにコードを追加します。このとき、ファイル名には変換されるPDFファイルと変換後の画像データのファイル名を指定してください。

Private Sub Command1_Click()

    Dim conv As New PDF2IMGOCXLib.Pdf2Img

    conv.ConvertFile "C:\pdf\in.pdf", "C:\image\out.tif", ""

End Sub

上記の2行は非常にシンプルです。それぞれ、(1) Pdf2Imgインスタンスを生成し、(2) 入力用のPDFを開き、PDFファイルの全ページをレンダリング(出力ファイルがTIFF形式の場合は、複数ページで構成された画像データとなります)し、出力の画像ファイルに書き出します。

PDFファイルを画像のページに変換する方法は2つあります。単純なアプローチは上記のとおりです。もうひとつの方法は、すこしコード量は増えますが強力なアプローチで、上記のような(全ページを変換するといった)大きな処理をいくつかの小さな処理に分割します。これによって、異なった複数のPDFファイルを順に開き、指定したページをレンダリングし、1つの画像データに複数ページとして出力することができるようになります。

この処理を行うコードは、以下のとおりです。

Private Sub Command1_Click()

       Dim conv As New PDF2IMGOCXLib.Pdf2Img

       conv.CreateImage "C:\image\out.tif"

       conv.Open "C:\pdf\in1.pdf", ""

       conv.RenderPage 1

       conv.Close

       conv.Open "C:\pdf\in2.pdf", ""

       conv.RenderPage 3

       conv.RenderPage 6

       conv.Close

       conv.CloseImage

End Sub

必要なのはこのコードですべてです。オプションとして、解像度や色深度などを変更する場合は、ユーザー・ガイドおよびプログラマー・リファレンスを参照してこのコードに追加してください。


この章では“3-Heights™ PDF to Image Converter API”をBorland Delphi 7環境で利用する方法を説明します。各スクリーンショットは、Windows 2000(ドイツ語環境)のものです。

1. DLLを登録(2.1章参照)した後に、Delphiを起動します。

2. Projectメニューに進み、Import Type Libraryを選択します。DLLが正しく登録されていれば、以下のように表示されてますので、“3-Heights™ PDF to Image Converter API”を選択します。すると、TPdf2Imgクラスが表示されます。このとき、クラス名での衝突がある場合はそれに応じてクラス名を調整します。Unitパスを選択します、そのパスのフォルダー(例えば、D:\bin\lib\など)がタイプライブラリのために生成したものであれば、そのパスを検索パスに追加します。

3. 3-Heights™ PDF to Image Converter API”コンポーネントを選択してから、Installをクリックして既存のパッケージ$(DELPHI)\Lib\dclusr.dpkにクラスを追加します。

4. コンポーネントが正しく登録されると、それを示すダイアログボックスが表示されます。パッケージdclusr.dpkを閉じて変更を保存します。“3-Heights™ PDF to Image Converter API”のクラスはActiveXタブに表示されます。もし、このように表示されない場合はComponentsメニューのConfigure Paletteを選択します。そして、それを[All]から[ActiveX]にドラッグ&ドロップで移動します。

5. これによって、Delphiのサンプル(samples/Delphi/フォルダーにあります)を開いたり、新しいアプリケーションを作成したりできるようになります。

 


3-Heights™ PDF to Image Converter API”のCOMASPPHPなどで利用されます)でのクラス名は、“PDF2IMGOCX.Pdf2Img”です。

以下は、VBScriptを使ったASPのサンプルです。

<%@ Language=VBScript %>

<%

       option explicit

       dim conv

       set conv = Server.CreateObject("PDF2IMGOCX.Pdf2Img")   

       if not conv.CreateImage("C:\temp\output.jpg") then

             Response.Write "<p>"

             Response.Write "Could not create output file." & "<br>"

       else

             Response.Write "<p>"

             Response.Write "Output file created successfully." & "<br>"

             if not conv.Open("C:\PDF-Tools\doc\license.pdf") then

                    Response.Write "<p>"

                    Response.Write "Could not open input file." & "<br>"

             else

                    Response.Write "<p>"

                    Response.Write "Input file opened successfully." & "<br>"

                    if not conv.RenderPage(1) then

                           Response.Write "<p>"

                           Response.Write "Could not render page 1." & "<br>"

                    else

                           Response.Write "<p>"

                           Response.Write "Page 1 rendered successfully." & "<br>"

                    end if

             end if

       end if   

       conv.Close

       conv.CloseImage

%>


 

Windows用の“3-Heights™ PDF to Image Converter API”には、.NET用のサンプルとしてMS Visual Studio 2005 用のサンプルが含まれています。このサンプルを参照すると、アプリケーションの作成をすばやく容易に開始できます。

新しいプロジェクトをゼロから作りためには、以下の手順に従ってください。

1.      Visual Studioを起動して、C#またはVisual Basic .NETプロジェクトを作成します。

2.      .NETアセンブリへの参照を追加します。

「ソリューション エクスプローラ」で生成したプロジェクトを右クリックし、「参照の追加」を選択します。「参照の追加」ダイアログが表示されます。「参照」タブを選択して.NETアセンブリである、libpdfNET.dllPdf2ImgNET.dllおよびRendererNET.dllを以下のようにプロジェクトに追加します。

3.      名前空間をインポート(注意:オプションですが有用です)

4.      コードを記述

ステップの3と4はC#Visual Basicでは別に説明します。

Visual Basic .NET

3.      作成したプロジェクトのプロパティを表示します。向かって左側に「参照」メニューがあります。先ほど追加した .NETアセンブリは画面の上のほうのウィンドウに表示されます。

下方のウィンドウには、インポートした2つの名前空間Pdftools.PdfPdftools.Pdf2Imgがあります。

以下と同様の設定が必要です。

4.      これで .NETインターフェースが以下のように利用できるようになりました。

Dim conv As New Pdftools.Pdf2Img.Converter

conv.Open(...)

...

C# .NET

3.      以下の名前空間を追加します。

using Pdftools.Pdf;

using Pdftools.Pdf2Img;

4.      これで .NETインターフェースが以下のように利用できるようになりました。

Converter conv = new Converter();

conv.Open(...);

...

トラブルシューティング

.NETインターフェースを利用する場合で最も一般的に生じる問題は、実行時にネイティブDLLが検出されないことです。通常これは、コンストラクタがはじめてコールされたときに例外(一般にSystem.TypeInitializationExceptio)がスローされます。

解決のためには、ネイティブDLLが実行時に検出されるようにします。そのためには、この章の中の「インストール」にある「.NETインターフェース」を参照してください。

 

 


 
Copyright© Trust Software System, All Rights Reserved.