StartRenderPageJob

ドキュメント検査、レンダリング

説明

呼び出し元のスレッドをブロックせずに PDF ファイルのページをレンダリングするバックグラウンドジョブを開始します

TPDFlib はスレッドセーフでないため、ジョブは同じソースファイルから分離インスタンスを作成してシステムタスク上で実行します。そのため、大きなページが完了するまでホストスレッドを占有し続けることはありません

ジョブはキャンセルフラグと手動リセット式の一時停止ゲートをレンダラーに渡し、レンダラーはコンテンツストリーム演算子の合間にそれらをポーリングします。これにより PauseRenderJob、ResumeRenderJob、CancelRenderJob が処理中の単一ページを中断できます

構文

Delphi

Function TPDFlib.StartRenderPageJob(Const FileName, Password, OutputFileName: WideString; DPI: Double; Page, Options: Integer): Integer;

DLL

int DLStartRenderPageJob(int InstanceID, const wchar_t* FileName, const wchar_t* Password, const wchar_t* OutputFileName, double DPI, int Page, int Options);

ActiveX

Function PDFlib::StartRenderPageJob(FileName As String, Password As String, OutputFileName As String, DPI As Double, Page As Long, Options As Long) As Long

パラメータ

FileName入力 PDF ファイルのパス
Passwordドキュメントのパスワード。PDF が暗号化されていない場合は空文字列
OutputFileName出力先画像パス。形式は Options に従い、RenderPageToFile と同様です
DPIレンダリング解像度
Pageレンダリングする 1 ベースのページ番号
OptionsRenderPageToFile に直接渡す画像形式オプション

戻り値

>0レンダージョブ制御メソッドで使用する1から始まるジョブハンドル
0ジョブを開始できませんでした

備考

進捗をポーリングするには GetRenderJobState、ブロックするには WaitForRenderJob を使用します。どちらも RENDER_JOB_STATE_* コードを返します

ワーカースレッドを失わずに実行中のページを中断するには、PauseRenderJob、ResumeRenderJob、CancelRenderJob を使用します

ジョブを開始したインスタンスが所有します。インスタンスを解放すると未完了ジョブに合流するため、完了していないページが所有者より長く残ることはありません