THPDFHeadlessDocument.SaveRichTextFieldUpdatesToFile
function SaveRichTextFieldUpdatesToFile(const FileName: string;
const Updates: THPDFHeadlessRichTextFieldUpdates;
const Options: THPDFHeadlessFormDataOptions): Integer;
Förbered och publicera atomärt en oberoende PDF med skalära uppdateringar av text-, val- och knappfält tillsammans med ursprungliga typade rich-text-runs; returnera antalet ändrade fält och låt den inlästa dokumentgrafen förbli oförändrad
Den aktuella grafen serialiseras till en privat autentiserad revision innan uppdateringarna tillämpas; befintliga osparade sid- och fältändringar, AES R5/R6-uppgifter, krypteringsidentifierare och signerade källprefix förblir tillgängliga för kandidaten
Typade runs genererar utseenden direkt, utan en kodnings- och avkodningstur och retur via rich XML; /V och /RV beskriver den skapade texten och stilarna, medan /AP behåller den befintliga utseendemotorns numeriska PDF-precision för ursprungliga typade storlekar och färger
En typad no-op kräver ekvivalenta enkla och rich-värden samt lika genererade utseendeströmmar och upplösta typsnitts- och resursgrafer för varje widget; jämförelsen dekrypterar befintliga strömmar och normaliserar indirekta objektreferenser i stället för att enbart lita på kvantiserade /RV-färger
Det tillåter genuint oförändrade skrivskyddade eller signaturlåsta fält; en annan faktisk målningsfärg, storlek, angivet typsnitt eller widgetutseende följer de vanliga begränsningarna för skrivskydd, FieldMDP och DocMDP även när det serialiserade rich-värdet råkar vara identiskt
Jämförelsen är konservativ mot befintliga utseenden: externt skapade PDF-filer med motsvarande visuellt resultat men en annan operator- eller resursrepresentation kan kräva en vanlig skyddad uppdatering
När alla begärda fält är oförändrade och den inlästa grafen saknar väntande ändringar är den publicerade PDF:en byte-för-byte identisk med den inlästa källan, inklusive befintliga AES-krypteringsbytes och autentiserade signaturrevisioner; en tom uppdateringsarray följer samma regel, med förbehåll för de befintliga kompatibilitetskontrollerna mot källan
Väntande ändringar i anroparens graf serialiseras in i kandidaten en gång, även när metoden returnerar noll fältändringar; orelaterade osparade sid- eller fältändringar bevaras, och den ursprungliga inlästa grafen förblir oförändrad
Publicering med noll uppdateringar utför ändå behörighets- och signaturvalidering, aliaskontroller för källa och destination, kontroller av utmatningsbudget, avbrott och atomär ersättning av destinationen; skrivskyddade och låsta fält kräver äkta ekvivalens i värde och utseende
Detta bytebevarande beteende gäller denna transaktionsmetod; den allmänna metoden SaveToFile och separata import-API:er för FDF/XFDF behåller sitt befintliga sparbeteende
Fältantal, dubblerade namn, Unicode, värdestorlekar och sammanlagd textkapacitet styrs av Options; antal typade runs, sammanlagda glyfenheter, angivna typsnittsbytes, rich-värdebytes, genererade objekt och bytes för utseendejämförelse styrs också av den inlästa dokumentets gränser
En delad hanterad typsnittsbyte-array räknas en gång över uppdateringarna; separata allokeringar förbrukar separat inmatningskapacitet för typsnitt även när deras bytes matchar, medan genererade budgetar för PDF-objekt och utmatning fortfarande täcker alla utseenden
Använd dokumentets avbrytningstoken för formulär- och utseendealternativ; ogiltiga fält, felutformade värden, behörigheter, misslyckad signaturautentisering, avbrott eller budgetfel lämnar den tidigare destinationen intakt, och alias mellan källa och destination avvisas
API:t täcker nativa blandade transaktioner; typad rich-text-utfyllning via Windows JSON, det äldre jobcallback-tillägget, utbyte av anteckningar samt inbäddad eller inkrementell FDF-data är separata workflows