|
Carica un file PDF esistente.
Sintassi Delphi:
function LoadFromFile ( FileName: TFileName ): Integer;
function LoadFromFile ( FileName: TFileName; const Password: AnsiString ): Integer;
function LoadFromFile ( FileName: TFileName; AutoDecrypt: Boolean ): Integer;
Sintassi C++:
int __fastcall LoadFromFile ( AnsiString FileName );
int __fastcall LoadFromFile ( AnsiString FileName, System::AnsiString Password );
int __fastcall LoadFromFile ( AnsiString FileName, bool AutoDecrypt );
Descrizione
Chiama LoadFromFile per caricare un file PDF esistente. La funzione LoadFromFile restituisce il numero di pagine del file caricato. Un file in cui nessuna pagina può essere trovata, come un file vuoto o non PDF, restituisce 0 o solleva un'eccezione. Un file cifrato le cui pagine si trovano in object stream cifrati solleva un'eccezione quando viene caricato senza la sua password; usa l'overload con password
La configurazione del cross-reference stream viene letta dalle sue stesse chiavi di dizionario, inclusi gli escape dei nomi PDF. Un dizionario /Encrypt diretto annidato fornisce i parametri del security handler senza sovrascrivere il /Length dello stream esterno, /Filter, /W, /Index o i riferimenti del trailer. Questo supporta genuini documenti AES-256 revisione 6 con xref stream non filtrati e object stream cifrati
I parametri del predictor PNG in /DecodeParms risolvono anch'essi i nomi PDF con escape e rifiutano le chiavi semantiche duplicate. Il marcatore dello xref stream viene individuato dopo il dizionario esterno completo, così nomi, stringhe e commenti contenenti stream non diventano confini di payload. La lettura consuma solo la terminazione di riga richiesta dopo il marcatore e preserva un primo byte di payload con valore di spazio bianco
File locali a o sopra LocalFileMappingThreshold usa memory mapping a finestra limitata con una cache di finestre LRU condivisa per le letture del parser e intervalli di stream lazy immutabili. Configura la geometria del mapping con LocalFileMappingWindowSize e LocalFileMappingCacheWindows; set the threshold to zero to retain the TFileStream . I fallimenti di mapping ripiegano automaticamente. I file più piccoli, e ogni file quando il mapping è disattivato o fallisce, vengono letti tramite un buffer di lettura da 64 KB sullo stream del file
Usa l'overload con password per i PDF cifrati Standard RC4 e AES supportati. HotPDF valida la password utente o proprietario, recupera la chiave file da intervalli limitati di trailer, xref, document-ID e dizionario di cifratura, decifra in memoria stringhe e stream caricati, ripulisce lo stato di cifratura caricato e consente SaveLoadedDocument scrivere una copia non cifrata. Il caricamento senza password cattura l'oggetto di cifratura grezzo tramite il suo offset xref autorevole così una successiva DecryptLoadedDocument può usare i valori binari esatti del security handler senza riaprire il file. Le revisioni di cifratura non supportate sollevano un'eccezione. Il recupero limitato delle chiavi è disponibile dalla HotPDF v2.489.0, e la decifratura ritardata senza rilettura dalla HotPDF v2.490.0.
L'overload AutoDecrypt apre i documenti come fanno i viewer. Quando AutoDecrypt è True e il documento è cifrato con una password utente vuota, com'è scritto nei documenti che solo limitano i permessi, viene decifrato in memoria esattamente come farebbe l'overload con password vuota, così il suo testo può essere estratto, renderizzato ed esportato; IsEncrypted diventa quindi False e una successiva SaveLoadedDocument scrive una copia non cifrata. Un documento che richiede una password, e uno non cifrato, viene caricato come lo carica l'overload normale. Se la password vuota apre il documento viene verificato prima dagli stessi intervalli limitati, senza caricare il documento due volte. Con AutoDecrypt False l'overload è quello normale
Quando importa oggetti PDF esistenti, HotPDF decodifica le sequenze di escape #XX dei nomi PDF ISO 32000-1 prima di memorizzare i valori dei nomi internamente. Nomi come /PANTONE#20216#20CVC, /lime#20Green e /The_Key_of_F#23_Minor sono preservati con i loro valori di byte previsti quando il documento viene poi copiato o salvato.
Vedi anche: Mapping finestra di file locali, LoadFromStream, DecryptLoadedDocument
|