PDF/UA-2 autorisanje, validacija i popravka strukture
HotPDF može da gradi, validira i atomski popravlja mešovitu PDF 1.7 i PDF 2.0 semantiku strukture uz očuvanje eksplicitnog identiteta imenskog prostora i ograničene cene obrade
Autorisanje svesno imenskih prostora
AddStructureElement dodeljuje standardni strukturni imenski prostor PDF 2.0 kada to zahteva PDF/UA-2 uloga, uključujući obavezni element Document najvišeg nivoa
AddStructureElementNS kreira eksplicitno imenovane elemente i AddStructRoleMapNS dodaje preslikavanja imena ili nizova od dve stavke koja se mogu razrešavati tranzitivno preko granica imenskih prostora
Rečnici imenskih prostora su indirektni, registruju se jednom po URI-ju i emituju kroz StructTreeRoot/Namespaces
Atributi i semantički pomoćnici
| API | Svrha |
|---|---|
SetStructureAttributeName | Dodaje ili zamenjuje atribut sa vrednošću imena u rečniku specifičnom za vlasnika i može da veže prilagođene vlasnike za imenski prostor |
SetStructureAttributeNumber | Dodaje ili zamenjuje strukturni atribut sa celobrojnom vrednošću kao što su RowSpan ili ColSpan |
SetStructureTableCellHeaders | Upisuje neprazan Headers niz koji identifikuje zaglavlja ćelija tabele po jedinstvenim ID vrednostima |
SetStructurePronunciation | Upisuje nasleđeno PhoneticAlphabet ime i tačnu Phoneme zamenu na strukturnom elementu PDF 2.0 |
AddPronunciationLexicon | Ugrađuje indirektnu application/pls+xml datoteku i dodaje njen Filespec u StructTreeRoot/PronunciationLexicon po redosledu pretrage |
AssociateFileWithStructure | Povezuje indirektni Filespec sa strukturnim elementom kroz AF |
AddAccessibleFormula | Kreira Formula sa Alt, ActualText ili oba |
AddAccessibleMathMLFormula | Kreira formulu, ugrađuje opisanu application/mathml+xml datoteku, povezuje je sa strukturom i dodaje dete u MathML imenskom prostoru |
Ograničena validacija u jednom prolazu
ValidatePDFUA2Structure vraća svaku zadržanu dijagnostiku u THPDFUA2ValidationIssues nizu i vraća False kada bar jedna dijagnostika ima uisError ozbiljnost
Validator razrešava mape uloga svesne imenskih prostora sa otkrivanjem ciklusa i proverava dokument najvišeg nivoa, hijerarhiju roditelj-dete, povratne veze roditelja, vlasnike i revizije atributa, StructParent anotacije, vlasništvo stabla roditelja i OBJR, pridružene datoteke, naslove, liste, tabele, Ruby, Warichu, nagoveštaje izgovora, formule i MathML
Provere dokumenta pokrivaju specifičan jezik Kataloga, označeni status, status sumnje, prikazani naslov, XMP naslov i PDF/UA identifikaciju po URI-ju imenskog prostora, Unicode znake privatne upotrebe u stringovima čitljivim za ljude i imena i akcije konfiguracije opcionog sadržaja
Provere anotacija pokrivaju redosled tabulatora stranice, vlasništvo i uloge strukture, opise, stanja artefakata, reference označenog sadržaja tokova izgleda, ekvivalentnost bogatog sadržaja, veze datoteka i zabranjene podtipove
Provere obrasca pokrivaju identitet dostupnih polja, nasleđena svojstva polja, kontekst i vlasništvo vidžeta, oznake, alternativne akcije, bogate vrednosti, opcije izbora, vidžete nulte površine, polja sa više vidžeta i zabranu XFA
Provere navigacije pokrivaju strukturna odredišta sa SD prednošću, konture, opise ugrađenih datoteka, ugnježdena stabla brojeva oznaka stranica, zahtevani indeks nulte stranice, stilove oznaka i važeće početne brojeve oznaka
Validacija tabela proširuje pozitivne raspone redova i kolona samo unutar MaxObjects, odbija ukrštajuće ćelije i nepravilnu geometriju redova ili grupa redova, razrešava Headers unutar vlasničke tabele, otkriva duplirane, samoreferentne i ciklične reference zaglavlja i prihvata implicitne asocijacije samo kada ih određuju Scope ili postavljanje prvog reda i prve kolone
Validacija lista prepoznaje kompletan PDF 2.0 ListNumbering skup, sprovodi semantiku oznaka, proverava ContinuedList i uređene ContinuedFrom reference istog nivoa i odbija cikluse nastavka ili direktan stvarni sadržaj van Lbl i LBody
Ruby deca moraju biti RB,RT ili RB,RP,RT,RP, Warichu deca moraju biti WP,WT,WP, unosi izgovora zadržavaju svoje PDF tipove objekata i svaki leksikon izgovora mora biti indirektni ugrađeni PLS Filespec
Skeniranje indirektnih objekata, dubina obilaska, dubina mape uloga, proširene ćelije tabela, zadržani broj problema i obrada neprijateljskih kolekcija su ograničeni tako da validacija ostaje predvidljiva za nepoverljiva stabla strukture
Deljeni nalazi usklađenosti
THPDFComplianceFindings preopterećenje validacije vraća iste dijagnostike sa deljenim profilom, ozbiljnošću, stabilnim ID-jem pravila, klauzulom standarda, logičkom putanjom, brojem indirektnog objekta i indeksom stranice od nule
Detaljno preopterećenje popravke upoređuje ograničene nalaze pre i posle popravke da bi identifikovalo primenjene, nerešene, vraćene ili neuspele akcije popravke i dodaje sažetke prebrojanih porodica popravki
ComplianceFindingsToJSON čuva deterministički redosled pod verzionisanom hotpdf.compliance.findings.v1 šemom i predstavlja nepoznate lokacije objekata ili stranica kao null
Atomska popravka strukture
RepairPDFUA2Structure se izvršava unutar transakcije grafa sa kopiranjem pri upisu, kanonizuje duplirane ili neregistrovane rečnike imenskih prostora, prepisuje reference strukture i mape uloga na imenske prostore, popravlja standardne imenske prostore strukture, normalizuje imenske prostore i revizije atributa strukture i popravlja determinističke defekte lista, tabela, Ruby, Warichu, izgovora, alternativnog teksta, nasleđivanja jezika, redosleda naslova i Artifact oznaka
Nakon mutacije isti validator proverava kandidatski graf i podrazumevana politika vraća svaku izmenu kada ostane bilo koja PDF/UA-2 greška
- Duplirani URI-ji imenskih prostora se sažimaju u jedan indirektni rečnik samo kada se njihova preslikavanja uloga svesna imenskih prostora slažu
- Važeći referencirani imenski prostori mogu se registrovati bez ponovnog skeniranja stabla strukture
- Standardni vlasnici atributa odbacuju nevažeće unose imenskih prostora, dok prilagođeni vlasnici zahtevaju eksplicitni
CustomAttributeNamespaceURIkada se njihov imenski prostor ne može zaključiti - Negativne ili razlomljene revizije elemenata postaju nula, nevažeće revizije nizova atributa postaju nula i siročad revizija se uklanjaju
- Prepoznatljivo numerisanje lista se vraća, liste sa oznakama dobijaju semantiku numerisanja koja nije
None, važeće reference nastavka dobijajuContinuedList=truei jedan pogrešno postavljen natpis prelazi na prvu poziciju - Nevažeći rasponi tabela postaju jedan,
Scopese uklanja iz ćelija podataka i nevažeći, prekotabelarni, samoreferentni ili dupliraniHeadersunosi se uklanjaju bez izmišljanja zamenskih asocijacija - Ruby i Warichu deca se preuređuju samo kada tačan zahtevani multiskup već postoji
- Pogrešno tipizirani nagoveštaji izgovora se uklanjaju, nevažeće reference leksikona se obrezuju i važeći ugrađeni tokovi leksikona dobijaju PLS MIME podtip
- Nedostajuće
Altvrednosti koriste postojeći naslov, tekst proširenja ili izvučeni tekst istog MCID-a pre bilo koje rezervne vrednosti koju dostavi pozivalac, a prazna podrazumevana vrednost nikada ne izmišlja opise - Važeći koren ili BCP-47 jezik koji dostavi pozivalac može postati jezik Kataloga tako da suvišni ili nevažeći unosi potomaka bezbedno nasleđuju
- Defekti prvog naslova i preskočenih nivoa se zatvaraju po redosledu dokumenta, sa opcionim nezavisnim počecima naslova unutar
DocumentFragment Artifactstrukturne uloge se usklađuju sa njihovim oznakama označenog sadržaja u sadržaju stranice proizvođača i učitanim tokovima sadržaja- Dvosmislena geometrija tabela, nedostajuća semantička deca, konfliktni identifikatori i nerešena semantika čitanja ostaju greške i pokreću podrazumevano vraćanje
MaxObjectsiMaxRepairsse zatvaraju na grešku pre nego što nepoverljivi grafovi mogu da prisile neograničen rad
Politika validacije
Počnite sa THPDFUA2ValidationOptions.Default i menjajte samo odluke specifične za tok rada
THPDFUA2HeadingPolicy bira tretman naslova, THPDFUA2IssueSeverity razlikuje upozorenja od grešaka i svaki THPDFUA2ValidationIssue nosi stabilan kod, putanju strukture, ozbiljnost i poruku
HeadingPolicymože da ignoriše preskočene nivoe, da ih zadrži kao upozorenja ili da zahteva sekvencijalne nivoeAllowDocumentFragmentHeadingStartsresetuje kontekst naslova unutarDocumentFragmentCheckDocumentSemanticsomogućava provere Kataloga, metapodataka, opcionog sadržaja i ugrađenih datotekaCheckHumanReadableStringsodbija Unicode znake privatne upotrebe u stringovima dokumenta okrenutim korisnikuCheckAnnotationSemanticsomogućava provere vlasništva, uloge, izgleda, opisa i oznaka anotacijaCheckFormSemanticsomogućava provere AcroForm, polja, vidžeta, vrednosti, oznake, akcije i opcijeCheckNavigationSemanticsomogućava provere strukturnih odredišta, kontura i oznaka stranicaRequireListLabelszahteva jedanLblza numerisane stavke listeRequireExplicitTableHeaderAssociationsprijavljuje ćelije podataka koje se oslanjaju samo na zaključivanje opsega zaglavljaCheckListSemanticsomogućava kompletne provere PDF 2.0 numerisanja, nastavka, natpisa, oznake, tela i postavljanja sadržajaCheckTableSemanticsomogućava ograničene provere mreže, raspona, grupa redova, opsega zaglavlja i asocijacija lokalnih za tabeluCheckRubyWarichuSequencesomogućava tačne provere sekvenci direktnih potomaka za istočnoazijske inline struktureCheckPronunciationHintsomogućava provere nagoveštaja strukture i ugrađenih PLS leksikonaRequireStructureAssociatedFileszahteva da svaka pridružena datoteka kataloga bude dostupna iz strukturnog elementaRequireFormulaTextAlternativezahteva tekstualne alternative formula osim ako nije prisutan pridruženi MathMLMaxObjectsograničava skeniranje indirektnih objekata pre početka obilaskaMaxIssuesograničava zadržane dijagnostike bez skrivanja konačnog rezultata uspeha ili greške
Preporučeni tok rada
- Omogućite
PDFUACompliance, izaberitePDFUAPart = 2i postaviteLangpreBeginDoc - Kreirajte jedan
Documentnajvišeg nivoa i gradite semantičku decu sa standardnim ili eksplicitno imenovanim ulogama - Registrujte anotacije i pridružene datoteke kroz njihove strukturne pomoćnike, upišite nagoveštaje izgovora sa
SetStructurePronunciationi dodajte PLS datoteke u željenom redosledu pretrage saAddPronunciationLexicon - Pokrenite
ValidatePDFUA2StructurepreEndDockada aplikacija treba sve dijagnostike odjednom, pozoviteRepairPDFUA2Structureza determinističke popravke imenskih prostora, strukture i pristupačnosti i izaberite deljeno preopterećenje nalaza kada CI zahteva standardni JSON - Rešite svaku grešku pre izlaza jer
EndDoctakođe sprovodi strogu podrazumevanu politiku za PDF/UA-2 dokumente
Pogledajte i: Automatska struktura rasporeda, THPDFUA2ValidationOptions, ValidatePDFUA2Structure, RepairPDFUA2Structure, ComplianceFindingsToJSON, SetStructurePronunciation, AddPronunciationLexicon, AddStructureElement, BeginTaggedContentForStructure, AppendStructureMarkedContent