DAOpenFromURL

ドキュメント管理、ダイレクトアクセス機能

説明

バイトレンジ要求でHTTP経由のリモートPDFをダイレクトアクセス用に開きます

トランスポートはバイトレンジ対応の確認と全体長の把握のためにURLを1度プローブし、その後はシーク可能なストリームが既存のランダムアクセスリーダーを駆動するため、実際に読まれたオブジェクトだけがネットワーク経由で取得されます

ドキュメントがリニア化されていてキャッシュウォーミングが有効な場合、最初のページのセクションは保持バイト予算内でプリフェッチされるため、ファイルの残りに触れる前にページ1が描画されます

構文

Delphi

Function TPDFlib.DAOpenFromURL(Const URL, Password: WideString; Options: Integer= 0; ChunkSize: LongInt= 0; CacheLimitBytes: Int64= 0; CoalesceWindowMS: Cardinal= PDF_NET_DEFAULT_COALESCE_WINDOW_MS): Integer;

DLL

int DLDAOpenFromURL(int InstanceID, const wchar_t* URL, const wchar_t* Password, int Options);

ActiveX

Function PDFlib::DAOpenFromURL(URL As String, Password As String, Options As Long) As Long

パラメータ

URLリモートPDFのhttpまたはhttpsアドレス
Passwordドキュメントのパスワード。PDFが暗号化されていない場合は空文字列
Options0は既定のウォーム付き先頭ページオープン、PDF_NET_OPT_NO_WARMINGは完全なオンデマンドオープン
ChunkSizeDelphi専用。整列されたレンジフェッチの粒度。0を指定すると64 KiBが選択されます
CacheLimitBytesDelphi専用。保持されるソースバイトの上限。0を指定すると4 MiBが選択され、1チャンク未満の値は1チャンクに引き上げられます
CoalesceWindowMSDelphi専用。各絶対読み取りの最初の未キャッシュチャンクに対する収集ウィンドウ。既定は2ミリ秒で、0を指定すると初期遅延が無効になります

戻り値

>0ダイレクトアクセスドキュメントハンドル
0ドキュメントを開けませんでした。LastErrorCodeにはPDFLIB_ERROR_NET_OPEN、PDFLIB_ERROR_NET_RANGE_UNSUPPORTED、PDFLIB_ERROR_NET_HTTP、または構造やパスワードに関するコードが設定されます

備考

サーバーはバイトレンジ対応を通知しなければなりません。そうでない場合、呼び出しはファイル全体をダウンロードするのではなくPDFLIB_ERROR_NET_RANGE_UNSUPPORTEDで速やかに失敗します

返されたハンドルはDACloseFileで閉じます。これにより基盤のトランスポートストリームも解放されます

同時実行の遅延読み込みは同じチャンクの要求を共有し、隣接するキューチャンクを16 MiBまでのソース読み込みへ結合します

ドキュメントを開かずにページ1のバイトレンジレイアウトを調べるには、GetLinearizedURLAccessPlanを使用します

Delphiダイレクトアクセスキャッシュの観察や変更には、DAGetRangeSourceCacheInfo、DASetRangeSourceCacheLimit、DAClearRangeSourceCacheを使用します