Automatic XFA Boolean styles and captions

Unit: HPDFXFA a HPDFXFAHeadless

HPDFXFAWriteHeadlessPDF konzumuje efektivní vlastnosti checkButton a vytváří nativní appearance streamy checkboxů i radio ze skutečného XFA layoutu

Značky a obrysy

Velikost checkButton defaultuje na 10pt a řídí čtvercový region značky uvnitř obsahového regionu pole; explicitní měření velikosti, marginy pole i UI a horizontální i vertikální zarovnání odstavce určí její pozici

Tvary square i round určí obrys; výchozí upřednostňovaná značka je křížek u čtvercového obrysu a vyplněný kruh u kulatého, podle specifikace checkButton v XFA 3.3

Explicitní značky check, circle, cross, diamond, square a star použijí skutečné vektorové cesty; nezávisí na tom, že dodané písmo obsahuje symbol checkboxu

První edge UI ohraničení dodá svou tloušťku, barvu i viditelnost; výchozí obrys je černý, široký 0.5pt, zatímco efektivní barva fontu pole dodá barvu upřednostňované značky

Značka se smrskne na zbývající obsahový region, když její nakonfigurovaná velikost ten region přesáhne; caption či margin, které nezanechají žádný obsahový region, způsobí selhání přípravy kandidáta

Skalární Unicode caption

Skalární text caption si uchová Unicode i oddělovače přesně a stane se skutečným Form XObject s vloženým písmem, referencovaným z každé appearance off, on i neutral toho widgetu

Caption sdílí jednu appearance i graf písma napříč svými stavy a její UTF-16 jednotky se počítají jednou na widget v TXFAHeadlessPDFResult.GlyphUnits

Vlevo a vpravo rezervují šířku caption, nahoře a dole výšku; vynechaná či nulová rezerva použije ke spočtení přirozeného rozsahu caption skutečné glyfové advancy i řádkové metriky dodaného písma

Inline caption předchází značce a explicitní rezervu ignoruje; marginy caption vtlačí text dovnitř jeho alokované oblasti

Velikost i barva výplně písma caption přebije velikost i barvu pole; zarovnání caption odstavce přebije zarovnání pole, zatímco CaptionFontFamilies může dodávat skutečné style řezy i pojmenované rodiny

Skryté i neaktivní caption nezabírají žádnou oblast ani nealokují žádný graf písma; neviditelné caption si uchovají svou oblast, aniž by malovaly či alokovaly glyfy caption

Konzument rich caption navíc konzumuje efektivní XHTML, skutečné nakonfigurované style řezy i výběr rodin, smíšené řádkové metriky i výšky zalomených caption

Třetí stavy checkboxů

Když je allowNeutral zapnuté, třetí uložená položka je neutrální export checkboxu; odpovídající hodnoty si uchovají odlišné nativní /V i widgetové /AS s vlastní položkou /AP /N

Neutrální appearance nakreslí prázdný obrys a tutéž caption; upřednostňovanou značku nekreslí

Pole /Opt checkboxu si u svého jediného widgetu ponechá jednu položku on-exportu, jak vyžaduje model PDF button polí; třetí uložený stav appearance nepřidá druhou volbu widgetu

Prázdné exporty, rezervovaný název Off i názvy začínající XFAOn dostanou kolizně bezpečné nativní stavové aliasy, s použitím svých UTF-8 bajtů jako uppercase hexadecimálního zápisu za XFAOn; třetí původní export lze obnovit z názvu jeho uloženého stavu

Radio člen třetí položku ignoruje a uchovává svůj stávající dvoustavový slovník appearance i identitu skupiny šablony/datascope

Adaptér perzistuje graf počátečního stavu; pozdější nativní operace editace buttonů aplikace má vlastní kontrakt stavu i appearance

Nativní instanční vlastnosti a transakce

Defaulty velikosti, tvaru, značky i allowNeutral checkButtonu jsou dostupné přes nativní runtime schema; chybějící vlastnosti border i margin checkButtonu lze vytvořit přes stávající property transakci

Efektivní per-instance vlastnosti checkButton, caption, font i margin přežijí SaveToBytes a hned řídí odpovídající automaticky vytvořený PDF widget; první opakovaná instance si uchovává své nezávislé vlastnosti

Literální UTF-8 zdroj události i Unicode binding hodnoty si uchovají své skaláry, dřív než se uložené XDP zkonvertují, tedy i text caption změněný nativní JavaScriptovou událostí; viz HPDFXFAExecuteJavaScriptEvent

Selhání skriptu obnoví přesný nativní XML, dřív než tvorba, a selhání přípravy zachovají pozici, délku i bajty cíle; rozpočty glyfů, objektů i písem i zrušení si uchovávají transakční hranici automatického tvůrce

Akceptační zdroje

Tests/Linux/XFAHeadlessBooleanStylesTests.pas vytvoří skutečné páry značek, caption, neutrální i rezervované stavy, skriptové změny opakovaných instancí i rollback case, bez UI čtečky

Tests/Linux/Verify-XFAHeadlessBooleanStyles.py zkontroluje skutečné uložené stavové slovníky, sdílené font resource, umístění caption, Unicode text i odlišné pixely značek přes pypdf a MuPDF

Boolean callback metadata popisují doplňkové transportní hinty konzumované nativním tvůrcem