THotPDF.LoadFromFile

THotPDF

 

Top  Vorige  Volgende

Laadt een bestaand PDF-bestand.

 

Delphi-syntax:

function LoadFromFile ( FileName: TFileName ): Integer;

function LoadFromFile ( FileName: TFileName; const Password: AnsiString ): Integer;

function LoadFromFile ( FileName: TFileName; AutoDecrypt: Boolean ): Integer;

 

C++-syntax:

int __fastcall LoadFromFile ( AnsiString FileName );

int __fastcall LoadFromFile ( AnsiString FileName, System::AnsiString Password );

int __fastcall LoadFromFile ( AnsiString FileName, bool AutoDecrypt );

 

Description

Roep  LoadFromFile aan om een bestaand PDF-bestand te laden. De functie LoadFromFile geeft het aantal pagina's in het geladen bestand terug. In een bestand waarin geen enkele pagina te vinden is, zoals een leeg of niet-PDF-bestand, geeft de functie 0 terug of geeft een uitzondering. Een versleuteld bestand waarvan de pagina's in versleutelde objectstreams liggen, geeft een uitzondering wanneer het zonder zijn wachtwoord wordt geladen; gebruik de wachtwoordoverload

De configuratie van de cross-reference-stream wordt gelezen uit de eigen dictionary-keys, inclusief PDF-name-escapes. Een geneste directe /Encrypt-dictionary levert security-handler-parameters aan zonder de outer stream /Length, /Filter, /W, /Index of trailer-verwijzingen te overrulen. Dit ondersteunt echte AES-256 revisie 6-documenten met ongefilterde xref-streams en versleutelde object-streams

PNG-predictor-parameters in /DecodeParms lossen ook escaped PDF-namen op en wijzen duplicaat-semantische keys af. Het xref-stream-marker wordt pas na de complete buitenste dictionary gevonden, dus namen, strings en comments die stream bevatten worden geen payload-grenzen. Het lezen verbruikt alleen de vereiste regeleinding na de marker en behoudt een eerste payloadbyte met spatiewaarde

Locale bestanden op of boven LocalFileMappingThreshold gebruiken begrensde windowed memory mapping met een gedeelde LRU-windowcache voor parserlezingen en immutabele luie streambereiken. Configureer de mappinggeometrie met LocalFileMappingWindowSize en LocalFileMappingCacheWindows; zet de drempel op nul om het TFileStream-pad te behouden. Mappingsfouten vallen automatisch terug. Kleinere bestanden, en elk bestand wanneer mapping uitstaat of mislukt, worden via een 64 KB-leesbuffer over de bestandsstream gelezen

Gebruik de wachtwoordoverload voor ondersteunde met RC4 en AES Standard versleutelde PDF's. HotPDF valideert het gebruikers- of eigenaarswachtwoord, herstelt de bestandssleutel uit begrensde trailer-, xref-, document-ID- en versleutelingswoordenlijstbereiken, ontsleutelt geladen tekenreeksen en streams in het geheugen, wist de geladen versleutelingsstatus en laat SaveLoadedDocument een onversleutelde kopie schrijven. Laden zonder wachtwoord vangt het rauwe versleutelingsobject op via zijn gezaghebbende xref-offset, zodat een latere aanroep van DecryptLoadedDocument exacte binaire security-handler-waarden kan gebruiken zonder het bestand opnieuw te openen. Niet-ondersteunde versleutelingsrevisies geven een uitzondering. Begrensd sleutelherstel is beschikbaar sinds HotPDF v2.489.0 en vertraagde decryptie zonder herlezen sinds HotPDF v2.490.0.

De AutoDecrypt-overload opent documenten zoals viewers dat doen. Als AutoDecrypt True is en het document is versleuteld met een leeg gebruikerswachtwoord — zo zijn documenten geschreven die alleen rechten beperken — wordt het in het geheugen ontsleuteld precies zoals de wachtwoordoverload met een leeg wachtwoord zou doen, zodat zijn tekst kan worden geëxtraheerd, gerenderd en geëxporteerd; IsEncrypted is dan False en een latere SaveLoadedDocument schrijft een onversleutelde kopie. Een document dat een wachtwoord nodig heeft, en een onversleuteld document, wordt geladen zoals de gewone overload het laadt. Of het lege wachtwoord het document opent, wordt eerst uit dezelfde begrensde bereiken gecontroleerd, zonder het document tweemaal te laden. Met AutoDecrypt False is de overload de gewone

Bij het importeren van bestaande PDF-objecten decodeert HotPDF ISO 32000-1 PDF name #XX-escapereeksen voordat naamwaarden intern worden opgeslagen. Namen zoals /PANTONE#20216#20CVC, /lime#20Green en /The_Key_of_F#23_Minor behouden hun bedoelde bytewaarden wanneer het document later wordt gekopieerd of opgeslagen.

 

 

Zie ook: Windowed Local File Mapping, LoadFromStream, DecryptLoadedDocument