procedure LoadDocument;
procedure LoadDocument(Data: Pointer; Size: NativeUInt; Buffered: Boolean = True);
| Data | Pointer. Osoitin muistissa olevaan raakaan PDF-dataan |
| Size | NativeUInt. Databufferin koko tavuina |
| Buffered | Boolean. Kun arvo on True (oletus), TPdf säilyttää oman kopionsa. Kun arvo on False, puskurin on pysyttävä voimassa, kunnes dokumentti on vapautettu |
procedure LoadDocument(const Data: TBytes; Buffered: Boolean = True);
| Data | TBytes. PDF-tiedoston sisältö tavutaulukkona |
| Buffered | Boolean. Kun arvo on True (oletus), TPdf säilyttää oman kopionsa. Kun arvo on False, tavutaulukon on pysyttävä muuttumattomana ja voimassa, kunnes dokumentti on vapautettu |
procedure LoadDocument(const Data: TBytes; Index, Count: Integer; Buffered: Boolean = True);
| Data | TBytes. Taustalla oleva tavutaulukko, joka sisältää PDF-ikkunan |
| Index | Integer. Nollasta alkava siirros ensimmäisen PDF-tavun kohtaan |
| Count | Integer. Ladattavien PDF-tavujen määrä |
| Buffered | Boolean. Kun arvo on True (oletus), TPdf kopioi vain valitun ikkunan. Kun arvo on False, taustalla olevan tavutaulukon on pysyttävä muuttumattomana ja voimassa, kunnes dokumentti on vapautettu |
procedure LoadDocument(Data: TMemoryStream; Buffered: Boolean = True);
| Data | TMemoryStream. PDF-datan sisältävä TMemoryStream |
| Buffered | Boolean. Kun arvo on True (oletus), TPdf säilyttää oman kopionsa. Kun arvo on False, streamin muistin on pysyttävä voimassa, kunnes dokumentti on vapautettu |
procedure LoadDocument(const Options: TPdfLoadOptions; out Report: TPdfLoadReport);
procedure LoadDocument(Data: Pointer; Size: NativeUInt; const Options: TPdfLoadOptions; out Report: TPdfLoadReport; Buffered: Boolean = True);
procedure LoadDocument(const Data: TBytes; const Options: TPdfLoadOptions; out Report: TPdfLoadReport; Buffered: Boolean = True);
procedure LoadDocument(const Data: TBytes; Index, Count: Integer; const Options: TPdfLoadOptions; out Report: TPdfLoadReport; Buffered: Boolean = True);
function SaveAsRepaired(Stream: TStream; out Report: TPdfRepairReport; AllowSignedDocument: Boolean = False): Boolean;
function SaveAsRepaired(const FileName: string; out Report: TPdfRepairReport; AllowSignedDocument: Boolean = False): Boolean;
Vanhat overloadit käyttävät yhteensopivaa tilaa ja säilyttävät aiemman toimintansa, mutta julkaisevat natiivin xref:n kelvollisuus- ja palautustilan
LastLoadReport-raportin kautta. Parametriton overload lukee polusta, joka on tallennettu
FileName-ominaisuuteen. Pointer-, TBytes-
ja TMemoryStream-overloadit lataavat suoraan muistissa olevasta datasta ohittaen
tiedostojärjestelmän. Tavualueoverload valitsee upotetun PDF:n suuremmasta kontista, protokollakehyksestä
tai uudelleenkäytettävästä vastaanottopuskurista luomatta väliaikaista
TBytes-leikettä
Kun Buffered on True (oletus), TPdf
kopioi annetut tavut säilyttämäänsä puskuriin. Kun arvo on False, kutsujan
puskurin on pysyttävä voimassa ja muuttumattomana, kunnes kutsutaan UnloadDocument-metodia tai
asetetaan Active := False — tämä välttää ylimääräisen kopion mutta vaatii huolellista
elinkaaren hallintaa
Tavualueoverload hylkää negatiiviset arvot, datan pituuden ylittävän Index-arvon sekä Count-arvon, joka ulottuu jäljellä olevien tavujen ohi. Pointer-overload hylkää nil-arvon, kun Size on nollasta poikkeava; TMemoryStream-overload hylkää nil-streamin ennen kuin dokumentin tilaa on muutettu millään tavalla
Onnistuessa Active muuttuu arvoon True ja kaikki sivuominaisuudet
vastaavat ensimmäistä sivua (PageNumber = 1). Epäonnistuessa nostetaan
EPdfError-poikkeus
TPdfLoadOptions.Default tarjoaa rajatut oletusarvot lähdetavuille, ongelmille, xref-osioille, xref-tietueille ja objektinumeroille. PDFium pysyy semanttisena jäsennimenä jokaisessa tilassa; kääreen auditointi on olemassa, koska julkinen PDFium-ABI raportoi xref:n kelvollisuuden mutta ei tarjoa kytkintä, joka poistaisi jäsentimen palautuksen käytöstä
plmCompatible hyväksyy PDFiumin palautuksen ja kirjaa tuloksen muuttamatta aiempaa latauskäyttäytymistäplmStrict hylkää lähteen, kun PDFium on rakentanut xref:n uudelleen tai rajattu auditointi löytää rakennevirheitäplmRecovery hyväksyy palautetun latauksen eksplisiittisesti ja palauttaa sen diagnostiikkareitin ja todisteetAuditointi seuraa klassisia xref-taulukoita, xref-streameja, hybridiversioita ja /Prev-ketjuja. Se raportoi virheelliset osiot, syklit, ristiriitaiset tietueet, vaurioituneet objektisiirrot, puuttuvat lopetusmerkinnät, tukemattomat stream-suodattimet, budjetin loppumisen ja natiivin palautuksen. Määritetyn auditointibudjetin ylittyminen asettaa AuditComplete-arvoksi False ja tuottaa varoituksen; se ei yksinään väitä, että tarkistamattomat tavut olisivat virheellisiä
InspectAvailability on edelleen kevyt natiivi käytettävyyskysely linearisointiin ja sivu ensin -lataukseen; se ei korvaa rakenteellista latausraporttia
TPdfLoadReport sisältää Status-, CrossReferenceTableValid-, UsedRecovery- ja RecoveryRoute-kentät, lähteiden ja rakenteiden siirtymät, osio- ja tietuelaskurit, ristiriita- ja vauriolaskurit, ongelmien kokonaismäärät, katkaisutilan sekä tyypitetyn Issues-taulukon. Sama raportti tallennetaan LastLoadReport-ominaisuuteen
TPdfRepairReport kirjaa, käyttikö lähde palautusta, tulosteen koon ja sivumäärän, tulosteen xref-kelvollisuuden, lopullisen virhetekstin sekä täyden itsenäisen tiukan latauksen varmistusraportin
SaveAsRepaired pyytää PDFiumia kirjoittamaan täydellisen ei-inkrementaalisen kopion ja avaa sen jälkeen tulosteen eristetyssä TPdf-instanssissa plmStrict-tilassa. Metodi toimittaa tavut vasta, kun xref-kelvollisuus ja sivumäärän yhtenevyys läpäisevät tarkistuksen. Tiedosto-overload kirjoittaa samassa hakemistossa olevan väliaikaistiedoston kautta ja korvaa kohteen atomisesti
Täydellinen uudelleenkirjoitus poistaa aiemman inkrementaalihistorian ja mitätöi olemassa olevien allekirjoitusten tavualueet. Allekirjoitetut dokumentit hylätään, ellei AllowSignedDocument ole eksplisiittisesti True. Metodi korjaa rakenteet, jotka PDFium pystyy lataamaan ja kirjoittamaan uudelleen onnistuneesti; se ei takaa mielivaltaisen vaurioituneen sisällön palautumista tai digitaalisten allekirjoitusten säilymistä
// Tiedostosta
Pdf.FileName := 'C:\docs\file.pdf';
Pdf.LoadDocument;
// TBytes-datasta
var Bytes: TBytes;
Bytes := TFile.ReadAllBytes('file.pdf');
Pdf.LoadDocument(Bytes);
// PDF suuremman tavutaulukon sisältä
Pdf.LoadDocument(Container, PdfOffset, PdfLength);
// TMemoryStreamistä (ilman puskurointia)
Pdf.LoadDocument(FStream, False);
// Hylkää jäsentimen piilopalautus
Options := TPdfLoadOptions.Default(plmStrict);
Pdf.LoadDocument(Options, Report);
// Kirjoita palautettu dokumentti uudelleen ja varmista itsenäisesti
Pdf.SaveAsRepaired('C:\docs\repaired.pdf', RepairReport);