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 LongParameter
| URL | Die http- oder https-Adresse des entfernten PDF |
|---|---|
| Password | Das Dokumentpasswort oder ein leerer String, wenn das PDF nicht verschlüsselt ist |
| Options | Null für das standardmäßige vorgewärmte Öffnen der ersten Seite, oder PDF_NET_OPT_NO_WARMING, um rein bedarfsweise zu öffnen |
| ChunkSize | Nur Delphi; die ausgerichtete Range-Fetch-Granularität, wobei null 64 KiB wählt |
| CacheLimitBytes | Nur Delphi; die maximal vorgehaltenen Quellbytes, wobei null 4 MiB wählt und Werte unter einem Chunk auf einen Chunk angehoben werden |
| CoalesceWindowMS | Nur 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
| >0 | Ein Direct-Access-Dokument-Handle |
|---|---|
| 0 | Das 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