PDF/UA-2 Structure Authoring, Validation, and Repair

HotPDF dokáže vytvárať, overovať a atómovo opravovať zmiešanú sémantiku štruktúry PDF 1.7 a PDF 2.0 pri zachovaní explicitnej identity menného priestoru a ohraničených nákladov na spracovanie

Vytváranie s ohľadom na menné priestory

AddStructureElement priradí štandardný menný priestor štruktúry PDF 2.0, keď to vyžaduje rola PDF/UA-2, vrátane povinného prvku najvyššej úrovne Document

AddStructureElementNS vytvára explicitne menované prvky a AddStructRoleMapNS pridáva mapovania názvov alebo dvojprvkových polí, ktoré sa môžu riešiť tranzitívne naprieč hranicami menných priestorov

Slovníky menných priestorov sú nepriame, registrované raz podľa URI a emitované cez StructTreeRoot/Namespaces

Atribúty a sémantické pomocníky

APIÚčel
SetStructureAttributeNamePridáva alebo nahrádza atribút s hodnotou názvu v slovníku špecifickom pre vlastníka a môže viazať vlastných vlastníkov na menný priestor
SetStructureAttributeNumberPridáva alebo nahrádza štruktúrny atribút s celočíselnou hodnotou, napríklad RowSpan alebo ColSpan
SetStructureTableCellHeadersZapisuje neprázdne pole Headers, ktoré identifikuje hlavičkové bunky tabuľky podľa jedinečných hodnôt ID
SetStructurePronunciationZapisuje zdedený názov PhoneticAlphabet a presnú náhradu Phoneme na prvok štruktúry PDF 2.0
AddPronunciationLexiconVkladá nepriamy súbor application/pls+xml a pripája jeho Filespec k StructTreeRoot/PronunciationLexicon v poradí vyhľadávania
AssociateFileWithStructureSpája nepriamy Filespec s prvkom štruktúry cez AF
AddAccessibleFormulaVytvára Formula s Alt, ActualText alebo oboma
AddAccessibleMathMLFormulaVytvára vzorec, vkladá opísaný súbor application/mathml+xml, spája ho so štruktúrou a pridáva dieťa menného priestoru MathML

Ohraničená jednoprechodová validácia

ValidatePDFUA2Structure vracia každý uchovaný diagnostický záznam v poli THPDFUA2ValidationIssues a vracia False, keď má aspoň jeden diagnostický záznam závažnosť uisError

Validátor rieši mapy rolí s ohľadom na menné priestory s detekciou cyklov a kontroluje dokument najvyššej úrovne, hierarchiu rodič-dieťa, spätné odkazy rodičov, vlastníkov a revízie atribútov, StructParent anotácií, vlastníctvo stromu rodičov a OBJR, pripojené súbory, nadpisy, zoznamy, tabuľky, Ruby, Warichu, nápovedy výslovnosti, vzorce a MathML

Validácia tabuliek rozširuje kladné rozpätia riadkov a stĺpcov iba v rámci MaxObjects, odmieta pretínajúce sa bunky a nepravidelnú geometriu riadkov alebo skupín riadkov, rieši Headers v rámci vlastniacej tabuľky, deteguje duplicitné, vlastné a cyklické referencie hlavičiek a prijíma implicitné asociácie len vtedy, keď ich určuje Scope alebo umiestnenie prvého riadku a prvého stĺpca

Validácia zoznamov rozpoznáva úplnú množinu ListNumbering PDF 2.0, vynucuje sémantiku popiskov, kontroluje ContinuedList a usporiadané referencie ContinuedFrom na rovnakej úrovni a odmieta cykly pokračovania alebo priamy reálny obsah mimo Lbl a LBody

Deti Ruby musia byť RB,RT alebo RB,RP,RT,RP, deti Warichu musia byť WP,WT,WP, položky výslovnosti si zachovávajú svoje typy objektov PDF a každý lexikón výslovnosti musí byť nepriamy vložený Filespec PLS

Skenovanie nepriamych objektov, hĺbka prechodu, hĺbka máp rolí, rozšírené bunky tabuliek, počet uchovaných problémov a spracovanie nepriateľských kolekcií sú ohraničené, takže validácia zostáva predvídateľná pre nedôveryhodné stromy štruktúry

Zdieľané nálezy zhody

Preťaženie validácie THPDFComplianceFindings vracia rovnaké diagnostické záznamy so zdieľaným profilom, závažnosťou, stabilným ID pravidla, klauzulou normy, logickou cestou, číslom nepriameho objektu a indexom stránky s nulovým základom

Podrobné preťaženie opravy porovnáva ohraničené nálezy pred opravou a po oprave, aby identifikovalo aplikované, nevyriešené, vrátené alebo zlyhané akcie opravy, a pripája zhrnutia rodín opráv s počtami

ComplianceFindingsToJSON zachováva deterministické poradie pod schémou verzovanou hotpdf.compliance.findings.v1 a reprezentuje neznáme umiestnenia objektov alebo stránok ako null

Atómová oprava štruktúry

RepairPDFUA2Structure beží v transakcii grafu s kopírovaním pri zápise, kanonizuje duplicitné alebo neregistrované slovníky menných priestorov, prepisuje referencie menných priestorov štruktúry a máp rolí, opravuje štandardné menné priestory štruktúry, normalizuje menné priestory a revízie atribútov štruktúry a opravuje deterministické defekty zoznamov, tabuliek, Ruby, Warichu, výslovnosti, alternatívneho textu, dedenia jazyka, poradia nadpisov a značiek Artifact

Po mutácii rovnaký validátor kontroluje kandidátsky graf a predvolená politika vráti každú zmenu, keď zostane akákoľvek chyba PDF/UA-2

Politika validácie

Začnite s THPDFUA2ValidationOptions.Default a zmeňte iba rozhodnutia špecifické pre pracovný postup

THPDFUA2HeadingPolicy vyberá zaobchádzanie s nadpismi, THPDFUA2IssueSeverity rozlišuje varovania od chýb a každý THPDFUA2ValidationIssue nesie stabilný kód, cestu štruktúry, závažnosť a správu

Odporúčaný pracovný postup

  1. Zapnite PDFUACompliance, vyberte PDFUAPart = 2 a nastavte Lang pred BeginDoc
  2. Vytvorte jeden Document najvyššej úrovne a vytvorte sémantické deti so štandardnými alebo explicitne menovanými rolami
  3. Registrujte anotácie a pripojené súbory cez ich pomocníkov štruktúry, zapíšte nápovedy výslovnosti pomocou SetStructurePronunciation a pridajte súbory PLS v požadovanom poradí vyhľadávania pomocou AddPronunciationLexicon
  4. Spustite ValidatePDFUA2Structure pred EndDoc, keď aplikácia potrebuje všetky diagnostické záznamy naraz, zavolajte RepairPDFUA2Structure pre deterministické opravy menných priestorov, štruktúry a prístupnosti a vyberte preťaženie zdieľaných nálezov, keď CI vyžaduje štandardný JSON
  5. Vyriešte každú chybu pred výstupom, pretože EndDoc tiež vynucuje prísnu predvolenú politiku pre dokumenty PDF/UA-2

Pozri tiež: Automatická štruktúra rozloženia, ValidatePDFUA2Structure, RepairPDFUA2Structure, ComplianceFindingsToJSON, SetStructurePronunciation, AddPronunciationLexicon, AddStructureElement, BeginTaggedContentForStructure, AppendStructureMarkedContent