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 ベースのページ番号 |
| Options | RenderPageToFile に直接渡す画像形式オプション |
戻り値
| >0 | レンダージョブ制御メソッドで使用する1から始まるジョブハンドル |
|---|---|
| 0 | ジョブを開始できませんでした |
備考
進捗をポーリングするには GetRenderJobState、ブロックするには WaitForRenderJob を使用します。どちらも RENDER_JOB_STATE_* コードを返します
ワーカースレッドを失わずに実行中のページを中断するには、PauseRenderJob、ResumeRenderJob、CancelRenderJob を使用します
ジョブを開始したインスタンスが所有します。インスタンスを解放すると未完了ジョブに合流するため、完了していないページが所有者より長く残ることはありません