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

APISvrha
SetStructureAttributeNameDodaje 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
SetStructureAttributeNumberDodaje ili zamenjuje strukturni atribut sa celobrojnom vrednošću kao što su RowSpan ili ColSpan
SetStructureTableCellHeadersUpisuje neprazan Headers niz koji identifikuje zaglavlja ćelija tabele po jedinstvenim ID vrednostima
SetStructurePronunciationUpisuje nasleđeno PhoneticAlphabet ime i tačnu Phoneme zamenu na strukturnom elementu PDF 2.0
AddPronunciationLexiconUgrađuje indirektnu application/pls+xml datoteku i dodaje njen Filespec u StructTreeRoot/PronunciationLexicon po redosledu pretrage
AssociateFileWithStructurePovezuje indirektni Filespec sa strukturnim elementom kroz AF
AddAccessibleFormulaKreira Formula sa Alt, ActualText ili oba
AddAccessibleMathMLFormulaKreira 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

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

Preporučeni tok rada

  1. Omogućite PDFUACompliance, izaberite PDFUAPart = 2 i postavite Lang pre BeginDoc
  2. Kreirajte jedan Document najvišeg nivoa i gradite semantičku decu sa standardnim ili eksplicitno imenovanim ulogama
  3. Registrujte anotacije i pridružene datoteke kroz njihove strukturne pomoćnike, upišite nagoveštaje izgovora sa SetStructurePronunciation i dodajte PLS datoteke u željenom redosledu pretrage sa AddPronunciationLexicon
  4. Pokrenite ValidatePDFUA2Structure pre EndDoc kada aplikacija treba sve dijagnostike odjednom, pozovite RepairPDFUA2Structure za determinističke popravke imenskih prostora, strukture i pristupačnosti i izaberite deljeno preopterećenje nalaza kada CI zahteva standardni JSON
  5. Rešite svaku grešku pre izlaza jer EndDoc takođe sprovodi strogu podrazumevanu politiku za PDF/UA-2 dokumente

Pogledajte i: Automatska struktura rasporeda, THPDFUA2ValidationOptions, ValidatePDFUA2Structure, RepairPDFUA2Structure, ComplianceFindingsToJSON, SetStructurePronunciation, AddPronunciationLexicon, AddStructureElement, BeginTaggedContentForStructure, AppendStructureMarkedContent