THotPDF.PrepareLoadedFormDataRevisionToStream
Bereidt een privé-revisie van de echte geladen graaf voor zonder het originele document te wijzigen
Declaration
procedure PrepareLoadedFormDataRevisionToStream(Destination: TStream;
const Password: AnsiString; MaxWorkingBytes, MaxOutputBytes: Int64;
MaxObjects: Integer; Checkpoint: TNotifyEvent = nil;
OriginalSource: TStream = nil);
Behavior
De methode kopieert de originele revisie naar een exclusief aangemaakt privé-bestand, laadt een apart incrementeel document, vergelijkt semantische objectgrafen op objectnummer en generation, kloont echte pending wijzigingen en schrijft de resulterende candidate op de huidige destination-positie
Tekstwaarden, bestaande appearances, ongerelateerde pending catalog-wijzigingen, indirecte referenties, stream-inhoud en nieuwe graafobjecten doen mee aan de preparatie; PDF-namen worden één keer gedecodeerd en dubbele semantische dictionary-namen zijn ongeldig
Een ongewijzigde graaf kopieert de exacte originele bytes zonder een lege incrementele cross-reference-sectie toe te voegen; gewijzigde grafen behouden de complete originele byte-prefix en plakken diens huidige revisie aan
Versleutelde revisies behouden diens originele encryption-dictionary en sleutel; Password moet de originele revisie authenticeren en wordt als UTF-8-bytes aangeleverd
OriginalSource moet, wanneer meegeleverd, de complete immutable originele revisie zijn waaruit dit document is geladen, inclusief ciphertext en signed bytes; diens positie wordt hersteld bij succes en falen
Zonder OriginalSource gebruikt de methode CopyLoadedSourceToStream; dat maakt geen extern muteerbare geleende bron tot een immutable snapshot, dus aanroepers moeten diens exacte geladen bytes behouden
MaxWorkingBytes moet ten minste 1 MiB zijn; MaxOutputBytes en MaxObjects moeten positief zijn; bronkopie, objectvergelijking, residente en gespilte kloon-data en uitvoerlengte hebben eindige grenzen
OperationCancellationToken en Checkpoint worden gepolld tijdens kopiëren en vergelijken; kopiëren gebruikt blokken van hoogstens 64 KiB; een gefaalde preparatie kan partiele destination-bytes achterlaten, die de aanroeper moet weggooien
Deze low-level methode bereidt een graafrevisie voor en autoriseert geen pending wijzigingen onder DocMDP of FieldMDP; gebruik THPDFWindowsFormDataTransaction om signature-policy te authentiseren vóór het publiceren van formulierupdates
De originele THotPDF-graaf, broneigendom, pending wijzigingen en instellingen blijven intact wanneer preparatie slaagt of faalt; tijdelijke bestanden worden gesloten en verwijderd wanneer de methode uitgaat
Related topics
CopyLoadedSourceToStream, THPDFWindowsFormDataTransaction, Windows FDF/XFDF exchange