5. プリンター選択処理

PtlDrvConvertクラスのプリンター選択関数「SelectPrinter」は、変換処理をどのプリンターに対して行うのかを決める関数です。選択対象は、モデル名が「Antenna House PDF Driver 8.0」であるプリンターです。

複数のスレッドあるいは複数のプロセスから同時にPDF Driver V8.0で印刷処理をさせる場合、プログラムのコードでは、印刷実行前に「SelectPrinter」をコールするようにしてください。

5.1. プリンターの選択:SelectPrinterの仕様

(1) SelectPrinter(NULL)

引数がNULLの場合は、プリンター名「Antenna House PDF Driver 8.0」を選択します。

(2) SelectPrinter(L"")

引数が空文字列の場合は、SelectPrinter側で処理が可能な状態にあるプリンターを選択します。プリンターが見つからない場合は、エラーになります。プリンターの選択に成功した場合は、「GetSelectedPrinter」によりプリンター名を取得することができます。

(3) SelectPrinter("[プリンター名]")

引数に名称が指定されている場合、すでにその名称のプリンターが存在するときにはそれを選択状態にします。存在しないときには、SelectPrinter側でプリンターを作成します。

プログラム側でプリンターを作成する場合は、プログラム自体、あるいは、プログラムを実行するユーザーに、プリンターが作成可能な権限が必要となります。

(4) プログラム側でSelectPrinterの呼び出しが行われなかった場合

「SelectPrinter(L"")」と同じ仕様で動作します。

プリンターが「選択状態」になると、他のプロセスやスレッドからはそのプリンターをPDF Driver APIでは使用できなくなりますが、PDF Driver API以外からは使用できます。

PDF Driver APIからプリンターを利用するプログラムが動作している間は、PDF Driver API以外からそのプリンターが使用されないようにしてください。

5.2. SelectPrinterのエラー

SelectPrinterのエラーの種類については、「エラーコード一覧」を参照してください。

SelectPrinterが「4」を返す場合は、モデル名「Antenna House PDF Driver 8.0」のプリンターの複製を増やし、再度試行してください。

5.3. 選択状態の解放:ReleasePrinter

プログラムで使用が終わったプリンターは、「ReleasePrinter」で選択状態を解放します。「ReleasePrinter」は、デストラクタで呼ばれるよう設計されています。

「SelectPrinter」が作成したプリンターは、自動的に削除されます。