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

APISvrha
SetStructureAttributeNameDodaje ili zamjenjuje atribut s vrijednošću imena u rječniku specifičnom za vlasnika i može vezati prilagođene vlasnike uz imenski prostor
SetStructureAttributeNumberDodaje ili zamjenjuje strukturni atribut s cijelobrojnom vrijednošću kao što su RowSpan ili ColSpan
SetStructureTableCellHeadersZapisuje neprazan niz Headers koji identificira naslovne ćelije tablice jedinstvenim vrijednostima ID
SetStructurePronunciationZapisuje naslijeđeno ime PhoneticAlphabet i točnu zamjenu Phoneme na strukturnom elementu PDF 2.0
AddPronunciationLexiconUgrađuje neizravnu datoteku application/pls+xml i dodaje svoj Filespec u StructTreeRoot/PronunciationLexicon u redoslijedu traženja
AssociateFileWithStructurePovezuje neizravni Filespec sa strukturnim elementom kroz AF
AddAccessibleFormulaStvara Formula s Alt-om, ActualText-om ili oboje
AddAccessibleMathMLFormulaStvara 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

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

Preporučeni radni tok

  1. Omogućite PDFUACompliance, odaberite PDFUAPart = 2 i postavite Lang prije BeginDoc
  2. Stvorite jedan dokument na vrhu Document i izgradite semantičku djecu sa standardnim ili izričito imenskim ulogama
  3. 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 s AddPronunciationLexicon-om
  4. Pokrenite ValidatePDFUA2Structure prije EndDoc-a kada aplikacija treba sve dijagnostike odjednom, pozovite RepairPDFUA2Structure za determinističke popravke imenskog prostora, strukture i pristupačnosti te odaberite preopterećenje zajedničkih nalaza kada CI zahtijeva standardni JSON
  5. Razriješite svaku grešku prije izlaza jer EndDoc također provodi strogu zadanu politiku za PDF/UA-2 dokumente

Također pogledajte: Automatska struktura rasporeda, ValidatePDFUA2Structure, RepairPDFUA2Structure, ComplianceFindingsToJSON, SetStructurePronunciation, AddPronunciationLexicon, AddStructureElement, BeginTaggedContentForStructure, AppendStructureMarkedContent