Standard XFDF-stämpelutseende-transport

Stämpelannoteringar kan exportera och importera sina faktiska PDF-utseendeströmmar och resursordlistor via Adobe XFDF-elementet appearance

Profilen stamp-typed-xml-v1 använder base64-kodad UTF-8 typad XML, enligt beskrivning i Adobe XFDF 3-specifikationen; den avkodade nyttolasten representerar PDF-objekt snarare än en fullständig PDF- eller FDF-fil

Mappade resurser

Den översta DICT KEY="AP" innehåller en krävd normal N-formström samt valfria överrullnings- R- och ned- D-strömmar

Former behåller sin ändliga fyrtals-BBox, valfri sextals-Matrix och stödd resursgraf, inklusive typsnitt och deras inbäddade program, bilder och mjuka masker, färgrymder, mönster, skuggningar, funktioner och grafiktillstånd

Typade värden inkluderar DICT, STREAM, ARRAY, INT, FIXED, NAME, BOOL och NULL; ordliste- och namnvärden bevarar sina semantiska PDF-namn, och giltiga källnummertokens bevarar decimalprecision

Ström-DATA stöder MODE="RAW" eller MODE="FILTERED" med ENCODING="HEX" eller sjubitars ENCODING="ASCII"; RAW behåller de kodade bytena och deras Filter/DecodeParms, medan FILTERED installerar avkodade byte utan inaktuell filtermetadata

Export använder RAW-hexadecimal data och återskapar ström-Length från faktiska byte; autentiserade krypterade strömmar avkodas eller dekrypteras före utbyte och krypteras korrekt i den sparade revisionen

Delade cykelfria resurser expanderas som likvärdiga värden och importeras med oberoende objektreferenser; denna profil bevarar inte referensidentitet

Bytes för inbäddade typsnittsprogram och deras inbäddningsflaggor bevaras utan att ändra licensbitar eller ersätta ett annat typsnittsprogram

API:er och callbacks

Använd HPDFExportHeadlessAnnotationsXFDF och SaveAnnotationsXFDFToFile för nativa transaktioner, eller de avgränsade överlagringarna av HPDFXFDFExportAnnotations och HPDFXFDFImportAnnotations för anroparägda graadaptare

De befintliga Windows-filjobben och V1-callbacks samt Linux V1-callbacks använder sina befintliga annoteringsoperationer och postlayouter

Förmågor behåller appearanceImport=false för allmänna annoteringsutseenden och lägger till stampAppearanceImport=true, appearanceProfile="stamp-typed-xml-v1", appearanceTypes=["stamp"], appearanceDataModes=["RAW","FILTERED"], appearanceEncodings=["ASCII","HEX"] och appearanceResources="acyclic-expanded-graph"

Transaktioner och gränser

Indata-XML, base64, namn, strömkodning, resurstyper, semantiska ordlistenycklar och Form-geometri valideras före publicering; felaktig data, cykler, uttömda kumulativa gränser eller annullering misslyckas hela transaktionen

XFDF-gränser täcker total in-/utdata, XML- och grafknutar, djup, strömlagring och arbetsreservationer över annoteringsoperationen

Import behåller aktuellt osparat grafitillstånd, AES R5/R6-säkerhet och autentiserade certifieringsbegränsningar; P1/P2 nekar annoteringsändringar och P3 bevarar det ursprungliga signerade prefixet och den äkta signaturintegriteten

En behörig tom import returnerar noll och bevarar exakta aktuella PDF-byte när det inte finns några osparade ändringar; smutsiga grafändringar sparas utan att kastas

Windows- och Linux-callbackkontexter antar en förberedd PDF först efter att PDF-utdata, JSON-resultatutdata och den slutliga annulleringskontrollen lyckats; misslyckade eller partiella callbacks behåller den tidigare kontexten, och den första misslyckade skrivaren förblir klistrig

Import av endast annoteringar accepterar tomma fields-behållare och värdelösa fältdeklarationer som no-op-metadata; faktiska formulärvärden och rich-fältuppdateringar kräver den separata autentiserade formulärdataoperationen

Återstående arbete

Allmän annoterings-AP-transport, utseendetillståndsordlistor, strängresursvärden, icke-tomma DEFINE/REF-referenser, cykliska grafer, Redact-overlayappearance, annoteringsersättning/-borttagning och FDF-annoteringsutbyte förblir separat arbete

Geometriska och textannoteringar utan ett transporterat stämpelutseende behåller sitt befintliga beteende; operationen syntetiserar inte godtyckliga annoteringsutseenden eller kör åtgärder

Den delade avgränsade adaptaren reserverar råa annoteringsnycklar och expanderade AP-grafer före nyttolastomvandling, och reserverar base64-mellanslag och avkodad DATA innan dessa representationer allokeras; PDF-namnomvandling använder linjära pass med annulleringskontrollpunkter