Stvaranje, validacija i popravak PDF/UA-2 strukture
HotPDF može izgraditi, validirati i atomski popraviti miješane PDF 1.7 i PDF 2.0 semantike strukture uz očuvanje eksplicitnog identiteta imenskog prostora i ograničenog troška obrade
Stvaranje svjesno imenskog prostora
AddStructureElement dodjeljuje standardni strukturni imenski prostor PDF 2.0 kada PDF/UA-2 uloga to zahtijeva, uključujući obavezni element na vrhu Document
AddStructureElementNS stvara izričito imenski elemente, a AddStructRoleMapNS dodaje mapiranja imena ili niza od dvije stavke koja se mogu razriješiti tranzitivno preko granica imenskog prostora
Rječnici imenskog prostora su neizravni, registrirani jednom po URI-ju i emitirani kroz StructTreeRoot/Namespaces
Atributi i semantički pomoćnici
| API | Svrha |
|---|---|
SetStructureAttributeName | Dodaje ili zamjenjuje atribut s vrijednošću imena u rječniku specifičnom za vlasnika i može vezati prilagođene vlasnike uz imenski prostor |
SetStructureAttributeNumber | Dodaje ili zamjenjuje strukturni atribut s cijelobrojnom vrijednošću kao što su RowSpan ili ColSpan |
SetStructureTableCellHeaders | Zapisuje neprazan niz Headers koji identificira naslovne ćelije tablice jedinstvenim vrijednostima ID |
SetStructurePronunciation | Zapisuje naslijeđeno ime PhoneticAlphabet i točnu zamjenu Phoneme na strukturnom elementu PDF 2.0 |
AddPronunciationLexicon | Ugrađuje neizravnu datoteku application/pls+xml i dodaje svoj Filespec u StructTreeRoot/PronunciationLexicon u redoslijedu traženja |
AssociateFileWithStructure | Povezuje neizravni Filespec sa strukturnim elementom kroz AF |
AddAccessibleFormula | Stvara Formula s Alt-om, ActualText-om ili oboje |
AddAccessibleMathMLFormula | Stvara formulu, ugrađuje opisanu datoteku application/mathml+xml, povezuje je sa strukturom i dodaje dijete u imenskom prostoru MathML |
Ograničena validacija u jednom prolazu
ValidatePDFUA2Structure vraća svaku zadržanu dijagnostiku u nizu THPDFUA2ValidationIssues i vraća False kada barem jedna dijagnostika ima težinu uisError
Validator razrješuje mape uloga svjesne imenskog prostora s otkrivanjem ciklusa i provjerava dokument na vrhu, hijerarhiju roditelj-dijete, povratne veze roditelja, vlasnike atributa i revizije, StructParent bilješki, vlasništvo stabla roditelja i OBJR, povezane datoteke, naslove, popise, tablice, Ruby, Warichu, naznake izgovora, formule i MathML
Validacija tablice proširuje pozitivne raspone retka i stupca samo unutar MaxObjects-a, odbacuje presijecajuće ćelije i nepravilnu geometriju retka ili grupe redaka, razrješuje Headers unutar vlasničke tablice, otkriva duplicirane, samo-se i ciklične reference naslova te prihvaća implicitne asocijacije samo kada ih Scope ili postavljanje prvog retka i prvog stupca određuje
Validacija popisa prepoznaje potpuni skup ListNumbering PDF 2.0, provodi semantike oznaka, provjerava ContinuedList i poredane reference istog sloja ContinuedFrom te odbacuje cikluse nastavka ili izravan stvarni sadržaj izvan Lbl i LBody
Djeca Ruby moraju biti RB,RT ili RB,RP,RT,RP, djeca Warichu moraju biti WP,WT,WP, unosi izgovora zadržavaju svoje tipove PDF objekata, a svaki rječnik izgovora mora biti neizravan ugrađeni PLS Filespec
Skeniranje neizravnih objekata, dubina prolaza, dubina mape uloga, proširene ćelije tablice, zadržani broj problema i obrada neprijateljskih kolekcija ograničeni su tako validacija ostaje predvidiva za strukturna stabla kojima se ne vjeruje
Zajednički nalazi usklađenosti
Preopterećenje validacije THPDFComplianceFindings vraća iste dijagnostike sa zajedničkim profilom, težinom, stabilnim ID-jem pravila, standardnom klauzulom, logičkom putanjom, brojem neizravnog objekta i indeksom stranice s bazom nula
Detaljno preopterećenje popravka uspoređuje ograničene nalaze prije i poslije popravka kako bi identificiralo primijenjene, nerazriješene, vraćene ili neuspjele radnje popravka te dodaje sažetke obitelji popravaka s brojanjem
ComplianceFindingsToJSON zadržava deterministički redoslijed pod verzioniranom shemom hotpdf.compliance.findings.v1 i predstavlja nepoznate lokacije objekata ili stranica kao null
Atomski popravak strukture
RepairPDFUA2Structure pokreće se unutar copy-on-write transakcije grafa, kanonizira duplicirane ili neregistrirane rječnike imenskog prostora, prepisuje reference imenskog prostora strukture i mape uloga, popravlja standardne imenske prostore strukture, normalizira imenske prostore i revizije atributa strukture te popravlja determinističke nedostatke popisa, tablice, Ruby, Warichu, izgovora, alternativnog teksta, nasljeđivanja jezika, redoslijeda naslova i miejsce oznaka Artifact
Nakon mutacije isti validator provjerava graf kandidata, a zadana politika vraća svaku promjenu kada preostane bilo koja pogreška PDF/UA-2
- Duplicirani URI-ji imenskog prostora sažimaju se u jedan neizravni rječnik samo kada se njihova mapiranja uloga svjesna imenskog prostora slažu
- Valjani referencirani imenski prostori mogu se registrirati bez ponovljenog skeniranja stabla strukture
- Standardni vlasnici atributa odbacuju nevaljane unose imenskog prostora, dok prilagođeni vlasnici zahtijevaju eksplicitni
CustomAttributeNamespaceURIkada se njihov imenski prostor ne može zaključiti - Negativne ili frakcijske revizije elemenata postaju nula, nevaljane revizije niza atributa postaju nula, a sirotični unosi revizija uklanjaju se
- Prepoznatljivo numeriranje popisa obnavlja se, popisi s oznakama dobivaju semantiku numeriranja koja nije
None, valjane reference nastavka dobivajuContinuedList=true, a jedno pogrešno postavljeno zaglavlje premješta se na prvo mjesto - Nevaljani raspone tablice postaju jedan,
Scopese uklanja iz podatkovnih ćelija, a nevaljani, preko-tablični, samo-se ili duplicirani unosiHeadersuklanjaju se bez izmišljanja zamjenskih asocijacija - Djeca Ruby i Warichu preuređuju se samo kada točan potreban multiset već postoji
- Pogrešno tipizirane naznake izgovora uklanjaju se, nevaljane reference rječnika izgovora orezuju se, a valjani ugrađeni tokovi rječnika izgovora dobivaju PLS MIME podtip
- Nedostajuće vrijednosti
Altkoriste postojeći naslov, tekst proširenja ili izdvojeni tekst istog MCID-a prije bilo kakve rezerve isporučenе pozivateljem, a prazna zadana vrijednost nikada ne izmišlja opise - Valjani korijenski ili jezik BCP-47 isporučen pozivateljem može postati jezik Catalog-a tako da suvišni ili nevaljani unosi potomaka nasljeđuju sigurno
- Nedostaci prvog naslova i preskočenih razina zatvaraju se u redoslijedu dokumenta, s opcionalnim neovisnim počecima naslova unutar
DocumentFragment - Uloge strukture
Artifactusklađuju se sa svojim oznakama obilježenog sadržaja u sadržaju proizvođačke stranice i učitane tokove sadržaja - Dvosmislena geometrija tablice, nedostajuća semantička djeca, konkurentni identifikatori i nerazriješene semantike čitanja ostaju greške i pokreću zadani povratak
MaxObjectsiMaxRepairszatvaraju vrata na grešku prije nego grafovi kojima se ne vjeruje mogu prisiliti neograničen rad
Politika validacije
Počnite s THPDFUA2ValidationOptions.Default-om i promijenite samo odluke specifične za radni tok
THPDFUA2HeadingPolicy bira tretman naslova, THPDFUA2IssueSeverity razlikuje upozorenja od grešaka, a svaki THPDFUA2ValidationIssue nosi stabilan kod, putanju strukture, težinu i poruku
HeadingPolicymože zanemariti preskočene razine, zadržati ih kao upozorenja ili zahtijevati sekvencijalne razineAllowDocumentFragmentHeadingStartsresetira kontekst naslova unutarDocumentFragmentRequireListLabelszahtijeva jedanLblza stavke numeriranog popisaRequireExplicitTableHeaderAssociationsizvještava podatkovne ćelije koje se oslanjaju samo na zaključivanje opsega zaglavljaCheckListSemanticsomogućuje potpune PDF 2.0 provjere numeriranja, nastavka, zaglavlja, oznake, tijela i postavljanja sadržajaCheckTableSemanticsomogućuje ograničene provjere mreže, raspone, grupe redaka, opsega zaglavlja i asocijacija lokalnih za tablicuCheckRubyWarichuSequencesomogućuje točne provjere sekvenci izravnih djece za istočnoazijske inline struktureCheckPronunciationHintsomogućuje provjere strukturnih naznaka i ugrađenih PLS rječnika izgovoraRequireStructureAssociatedFileszahtijeva da svaka povezana datoteka Catalog-a bude dosezljiva iz strukturnog elementaRequireFormulaTextAlternativezahtijeva tekstne alternative formule osim ako nije prisutan povezani MathMLMaxObjectsograničava skeniranje neizravnih objekata prije početka prolazaMaxIssuesograničava zadržane dijagnostike bez skrivanja konačnog rezultata uspjeha ili greške
Preporučeni radni tok
- Omogućite
PDFUACompliance, odaberitePDFUAPart = 2i postaviteLangprijeBeginDoc - Stvorite jedan dokument na vrhu
Documenti izgradite semantičku djecu sa standardnim ili izričito imenskim ulogama - Registrirajte bilješke i povezane datoteke kroz njihove strukturne pomoćnike, zapišite naznake izgovora s
SetStructurePronunciation-om i dodajte PLS datoteke u željenom redoslijedu traženja sAddPronunciationLexicon-om - Pokrenite
ValidatePDFUA2StructureprijeEndDoc-a kada aplikacija treba sve dijagnostike odjednom, pozoviteRepairPDFUA2Structureza determinističke popravke imenskog prostora, strukture i pristupačnosti te odaberite preopterećenje zajedničkih nalaza kada CI zahtijeva standardni JSON - Razriješite svaku grešku prije izlaza jer
EndDoctakođer provodi strogu zadanu politiku za PDF/UA-2 dokumente
Također pogledajte: Automatska struktura rasporeda, ValidatePDFUA2Structure, RepairPDFUA2Structure, ComplianceFindingsToJSON, SetStructurePronunciation, AddPronunciationLexicon, AddStructureElement, BeginTaggedContentForStructure, AppendStructureMarkedContent