DAOpenFromURL

Dokumentverwaltung, Direktzugriffsfunktionen

Beschreibung

Öffnet ein Remote-PDF über HTTP für Direktzugriff mit Byte-Range-Anfragen

Der Transport sondiert die URL einmal, um Byte-Range-Unterstützung zu bestätigen und die Gesamtlänge zu lernen; dann steuert ein durchsuchbarer Stream den vorhandenen Random-Access-Leser, sodass nur die tatsächlich gelesenen Objekte übers Netz geholt werden

Wenn das Dokument linearisiert ist und Cache-Aufwärmen aktiviert ist, wird der ersten-Seiten-Abschnitt innerhalb des gespeicherten Byte-Budgets vorgeladen, sodass Seite 1 rendert, bevor der Rest der Datei berührt wird

Syntax

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

Parameter

URLDie http- oder https-Adresse des entfernten PDF
PasswordDas Dokumentpasswort oder ein leerer String, wenn das PDF nicht verschlüsselt ist
OptionsNull für das standardmäßige vorgewärmte Öffnen der ersten Seite, oder PDF_NET_OPT_NO_WARMING, um rein bedarfsweise zu öffnen
ChunkSizeNur Delphi; die ausgerichtete Range-Fetch-Granularität, wobei null 64 KiB wählt
CacheLimitBytesNur Delphi; die maximal vorgehaltenen Quellbytes, wobei null 4 MiB wählt und Werte unter einem Chunk auf einen Chunk angehoben werden
CoalesceWindowMSNur Delphi; das Sammelfenster für den ersten nicht zwischengespeicherten Chunk jedes absoluten Lesevorgangs, mit 2 Millisekunden als Standard; null deaktiviert die anfängliche Verzögerung

Rückgabewerte

>0Ein Direct-Access-Dokument-Handle
0Das Dokument konnte nicht geöffnet werden; LastErrorCode wird auf PDFLIB_ERROR_NET_OPEN, PDFLIB_ERROR_NET_RANGE_UNSUPPORTED, PDFLIB_ERROR_NET_HTTP oder einen Struktur- oder Passwortcode gesetzt

Anmerkungen

Der Server muss Byte-Range-Unterstützung ankündigen; andernfalls schlägt der Aufruf schnell mit PDFLIB_ERROR_NET_RANGE_UNSUPPORTED fehl, statt die gesamte Datei herunterzuladenSchließen Sie das zurückgegebene Handle mit

Schließen Sie das zurückgegebene Handle mit DACloseFile, womit auch der zugrunde liegende Transportstream freigegeben wird

Gleichzeitige verzögerte Lesungen teilen Anfragen desselben Chunks und fassen benachbarte eingereihte Chunks zu Quellesungen mit maximal 16 MiB zusammen

Verwenden Sie GetLinearizedURLAccessPlan, um das Byte-Range-Layout von Seite 1 zu inspizieren, ohne das Dokument zu öffnen

DAGetRangeSourceCacheInfo, um das Byte-Range-Layout von Seite 1 zu inspizieren, ohne das Dokument zu öffnenVerwenden Sie DASetRangeSourceCacheLimit, DAClearRangeSourceCache und