THotPDF.BeginIncrementalUpdate

THotPDF

 

Överst  Metoder  Nästa

Läser in en befintlig PDF och växlar dokumentet till append-only-läge för inkrementell uppdatering

 

Delphi-syntax:

procedure BeginIncrementalUpdate(const SourceFile: TFileName); overload;

procedure BeginIncrementalUpdate(const SourceFile: TFileName; const Password: AnsiString); overload;

 

C++-syntax:

void __fastcall BeginIncrementalUpdate(System::Sysutils::TFileName SourceFile);

void __fastcall BeginIncrementalUpdate(System::Sysutils::TFileName SourceFile, const System::AnsiString Password);

 

Beskrivning

Anropa BeginIncrementalUpdate när en befintlig PDF måste utökas utan att dess ursprungliga byte skrivs om. HotPDF tolkar den aktiva trailern eller xref-ström-ordlistan, fångar dess permanenta och modifierande ID:n, håller källfilen skrivlåst via en filbaserad ström och behåller bara en avgränsad svanssond i stället för en fullständig kopia av källan

 

Nya indirekta objekt och ändringar som görs via API:erna för inlästa dokument spåras automatiskt. Använd MarkDirty när kod ändrar ett objekt via en väg utanför de officiella ändringskrokarna

 

För en Standard-krypterad källfil anger du dess användar- eller ägarlösenord till överbelastningen med två argument. För en publiknyckelkrypterad källa tilldelar du PubSecKeyMaterial och anropar överbelastningen med ett argument. HotPDF behåller den autentiserade filnyckeln eller FEK:en bara under uppdateringens livstid, bevarar de ursprungliga policyerna för sträng, ström, metadata och Identity crypt-filter och härleder äldre per-objekt-nycklar från såväl objektnumret som dess behållna generation

Krypteringsordlistan ärvs från källrevisionen och kan inte införas, ersättas eller omkonfigureras medan inkrementellt läge är aktivt. Ej stödda heterogena omkonfigurationer av explicita crypt-filter misslyckas före utdata i stället för att emittera chiffertext under en annan policy

 

Detta arbetsflöde är användbart för att lägga till ett senare signaturfält, bilägga metadata eller utöka ett redan signerat dokument medan de byteintervall som täcks av tidigare digitala signaturer bevaras. Den aktiva trailern används även när källan redan innehåller flera revisioner

 

Lägga till en andra signatur

Ingen sida är aktuell efter att dokumentet har lästs in, så det signerbara fältet läggs till med AddLoadedSignedSignatureField, som tar sidindexet som argument. Fältet reserverar det signaturutrymme som SignPDFWithPFX, eller PreparePDFForSigning och InsertSignatureHex för en extern signerare, fyller i efter att uppdateringen har sparats. Den nya signaturen täcker hela filen och tidigare signaturer förblir giltiga eftersom deras byte inte röras

PDF := THotPDF.Create(nil);
try
  PDF.BeginIncrementalUpdate('Signed.pdf');
  PDF.AddLoadedSignedSignatureField(0, 300, 120, 500, 160, 'Approver', 8192);
  PDF.SaveIncrementalUpdate('Prepared.pdf');
finally
  PDF.Free;
end;
THotPDF.SignPDFWithPFX('Prepared.pdf', 'SignedTwice.pdf', 'Signer.pfx', 'password');

 

Se även: MarkDirty, SaveIncrementalUpdate, AddLoadedSignedSignatureField, GetIncrementalUpdateSourceInfo, AcroForm Support, PDF Filter Support