GetPDFUADiagnosticsA

PDF/UA & Akadálymentesség

Leírás

A záró A a DLL ANSI-belépési pontját (char) jelöli; az ActiveX/COM felület csak a Unicode formát teszi elérhetővé. A működés megegyezik ezzel: GetPDFUADiagnostics, és a sztringargumentumok a jelenlegi SetAnsiMode kódlap alapján értelmeződnek

Visszaadja az aktuális dokumentumban talált lehetséges PDF/UA-1 (ISO 14289-1) megfelelőségi problémák újsorokkal tagolt listáját. Minden sor egy problémakódot, majd kettőspontot és ember számára olvasható leírást tartalmaz. Ha nem észlel problémát, üres karakterláncot ad vissza

Szintaxis

Delphi

Function DLGetPDFUADiagnosticsA(InstanceID: Integer): PAnsiChar;

DLL

const char * DLGetPDFUADiagnosticsA(int InstanceID);

Hibakódok

PDF-VERSION-LOWA dokumentum PDF-verziója (a fájlfejlécben rögzítve) 1.7 alatti. A PDF/UA-1 az ISO 32000-1:2008 (PDF 1.7) szerint van meghatározva. Hívja meg a SetPDFUAMode metódust a verzió automatikus 1.7-re emeléséhez
MARKED-FALSEA MarkInfo/Marked értéke nem true; a dokumentum nem címkézett PDF
LANG-MISSINGA dokumentumkatalógus /Lang bejegyzése hiányzik vagy üres. Az ISO 14289-1 §7.3 természetesnyelv-nyilatkozatot követel meg
DISPLAYDOCTITLE-FALSEA ViewerPreferences/DisplayDocTitle értéke nem igaz. Az ISO 14289-1 §7.1 megköveteli, hogy a dokumentum címe megjelenjen a címsorban
DOCINFO-TITLE-MISSINGA dokumentuminformációs szótár /Title bejegyzése hiányzik vagy üres. A PDF/UA-1 dokumentumcímet követel meg, hogy a kisegítő technológia a dokumentum megnyitásakor bejelenthesse azt. Ez az ellenőrzés kiegészíti a DISPLAYDOCTITLE-FALSE ellenőrzést: az utóbbi azt vizsgálja, hogy a cím megjelenik-e a megjelenítőben; ez pedig azt, hogy maga a címérték létezik-e. A beállításához hívja a SetInformation függvényt Title kulccsal
XMP-NO-PDFUAIDAz XMP-metaadatadatfolyam nem tartalmaz pdfuaid:part bejegyzést. Az ISO 14289-1 §7.2 megköveteli
ANNOT-NO-CONTENTS:NN nem mentesített jegyzetből (a Widget, PrinterMark és TrapNet altípusokat kivéve) hiányzik a Contents bejegyzés Az ISO 14289-1 §7.18.1 előírja
EMBED-NO-AFR:NN beágyazott fájlból hiányzik az AFRelationship bejegyzés a fájlspecifikációs szótárban. Az ISO 14289-1 §7.11 szerint kötelező
FIGURE-NO-ALT:NN Figure vagy Formula szerkezeti elemnek nincs Alt szövegértéke. Az ISO 14289-1 §7.5 és az ISO 32000-1 §14.9.3 alternatív leírást követel meg mind a grafikus ábrákhoz, mind a matematikai képletekhez
HEADING-LEVEL-SKIP:NN címsorszint-ugrás észlelve dokumentumsorrendben, például egy H1-et közvetlenül H3 követ, átugorva a H2-t. Az ISO 14289-1 §7.1 és a WCAG 2.x 1.3.1 sikerkritériuma előírja, hogy a címsorok hézagok nélkül ágyazódjanak egymásba
STRUCT-UNCLOSED:NN struktúraelem maradt nyitva, mert az EndTag hívása nem a megfelelő számú alkalommal történt meg. Ezek az elemek hiányozni fognak a struktúrafa gyökeréből
TABLE-TH-NO-SCOPE:NAz N TH (táblázatfejléc-cella) struktúraelemeknek nincs Scope attribútuma. Az ISO 32000-1 §14.8.4.3.4 Table 337 a Scope (Row, Column vagy Both) attribútumot úgy határozza meg, mint amely leírja, hogy az egyes fejléc-cellák mely adatcellákra vonatkoznak. Enélkül a segítő technológiák összetett vagy többfejlécű táblázatokban nem tudják megbízhatóan társítani a fejléceket az adatcellákhoz. Minden TH elem címkézése után azonnal hívja a SetStructElemScope függvényt (vagy a(z) AddTagAttribute függvényt Owner='Table', Name='Scope' értékekkel)
FORM-NO-TOOLTIP:NN interaktív űrlapmezőből (Widget jegyzetekből) hiányzik a TU (eszköztipp / akadálymentes név) bejegyzés. Az ISO 14289-1 §7.18.4 előírja, hogy minden interaktív űrlapmező rendelkezzen TU bejegyzéssel, hogy a segítő technológia közölhesse a mező célját a felhasználóval. A /TU az akadálymentes név, amelyet a képernyőolvasók felolvasnak; különbözik a /T értéktől (a programozottan használt részleges mezőnévtől). Űrlapmezők létrehozásakor vagy betöltésekor állítsa be a TU értékét
LIST-STRUCT:NAz N LI vagy LBody szerkezeti elemek a kötelező szülőjükön kívül jelennek meg. Az ISO 32000-1 §14.8.4.4 előírja, hogy az LI az L (lista) közvetlen gyermeke, az LBody pedig az LI (listaelem) közvetlen gyermeke legyen. A hibás listafészkelés megakadályozza, hogy a segítő technológia helyesen navigáljon a listákban. Ellenőrizze minden listához kapcsolódó elem BeginTag / EndTag hívási sorrendjét
ROLEMAP-UNMAPPED:NN egyéni struktúraelemtípus jelenik meg a dokumentumban, de nincs bejegyzése a /RoleMap szótárban. Az ISO 14289-1 §7.1 és az ISO 32000-1 §14.7.3 előírja, hogy minden nem szabványos struktúratípust szabványos PDF-típushoz kell leképezni, hogy a segítő technológia meg tudja határozni az elem kezelését. Mentés előtt minden egyéni típushoz hívja az AddRoleMap függvényt. A probléma leírása felsorolja a nem leképezett típusneveket
SUSPECTS-TRUEA MarkInfo/Suspects értéke true. Az ISO 14289-1 §7.1 előírja, hogy a PDF/UA-megfelelőséget állító fájlok Suspects értéke false legyen. A true érték azt jelöli, hogy a címkézésről ismert, hogy hibákat tartalmaz. Miután a dokumentum teljesen címkézve van, hívja meg a SetMarkInfo metódust a Suspects false értékre való visszaállításához
ROLEMAP-STANDARD-REMAP:NN szabványos struktúratípus a "custom" kulcsaként jelenik meg a /RoleMap alatt, és mentéskor újra lesz képezve. Az ISO 14289-1 §7.1 tiltja az ISO 32000-1 §14.8.4 által meghatározott szabványos címkék (P, H1..H6, Figure, Table stb.) újraképezését. A részletsor felsorolja a problémás szabványos címkeneveket. Távolítsa el az érintett AddRoleMap hívásokat
DC-TITLE-MISSINGAz XMP-metaadatfolyam Dublin Core dc:title eleme hiányzik vagy üres. Az ISO 14289-1 §7.1 előírja, hogy a Metadata folyam egy, a dokumentumot egyértelműen azonosító dc:title bejegyzést tartalmazzon. Ez az ellenőrzés elkülönül a DOCINFO-TITLE-MISSING ellenőrzéstől, amely csak a /Info /Title bejegyzést vizsgálja. A SetPDFUAMode hívásával az /Info cím átmásolható az XMP-csomagba
TRAPNET-ANNOT:NN TrapNet jegyzet található a dokumentum oldalain. Az ISO 14289-1 §7.18.2 kifejezetten tiltja a TrapNet használatát PDF/UA-1 megfelelő fájlokban. Mentés előtt távolítsa el a problémás jegyzeteket
ANNOT-PAGE-NO-TABS-S:NN oldal egy vagy több annotációt hordoz, de az oldalszótáruk nem állítja be a /Tabs /S értéket. Az ISO 14289-1 §7.18.3 megköveteli, hogy az ilyen oldalakon a tabulátorsorrend a struktúrafát kövesse, amelyet a /Tabs /S jelez. Állítsa be a /Tabs /S értéket az oldalszótárban minden annotációkat tartalmazó oldalhoz
ENCRYPT-NO-ACCESSA dokumentum titkosított és a PDFUAMode aktív, de a titkosítási /P jogosultsági kulcs 10. bitje (maszk: $200, akadálymentesítési kinyerés) törölve van. Az ISO 14289-1 §7.16 előírja, hogy minden titkosított, megfelelő fájl engedélyezze az akadálymentesítési kinyerést. Ha a PDFUAMode beállítása az Encrypt meghívása előtt történik, a bit automatikusan bekapcsol. Ellenkező hívási sorrend esetén a titkosítási szótár már a régi /P értékkel van érvényben — hívja meg újra az Encrypt függvényt, hogy a szótár ismét kiíródjon
FIRST-HEADING-NOT-H1A dokumentumsorrend szerinti első címelem nem H1 (az erősen strukturált H jelzőérték szintén 1. szintnek számít). Az ISO 14289-1 §7.4.2 előírja, hogy a nem erősen strukturált dokumentum első címsorcímkéje H1 legyen. A részletsor megnevezi a hibás szintet
WIDGET-NO-STRUCTPARENT:NN Widget megjegyzésből hiányzik a /StructParent bejegyzés. Az ISO 14289-1 §7.18.4 előírja, hogy a Widget megjegyzések Form struktúracímkébe legyenek ágyazva; /StructParent nélkül a Widget egyáltalán nem érhető el a struktúrafából. A részletsor a darabszámot jelzi. Ez részleges ellenőrzés — annak teljes ellenőrzése, hogy a feloldott szülő /S értéke Form, még nincs megvalósítva
LIST-NO-NUMBERING:NAz N L (lista) struktúraelemekből hiányzik a ListNumbering attribútum. Az ISO 14289-1 §7.6 előírja, hogy minden L címke ezzel az attribútummal deklarálja számozási stílusát (az ISO 32000-1 347. táblázata szerinti érvényes értékek: None, Disc, Circle, Square, Decimal, UpperRoman, LowerRoman, UpperAlpha, LowerAlpha). Minden L címke megnyitása után hívja meg a SetStructElemListNumbering függvényt
MULTIPLE-H-CHILDREN:NAz N struktúrafacsomópont több mint egy közvetlen H (általános címsor) gyermekelemet tartalmaz. Az ISO 14289-1 §7.4.4 ezt tiltja — ossza fel a szülőszakaszt, vagy cserélje a H címkéket számozott H1..H6 sorozatokra

Visszatérési érték

Problémaleírások újsorral elválasztott karakterlánca, vagy üres karakterlánc, ha nem észlelhetők megfelelőségi problémák

Megjegyzések

Ez a függvény fejlesztőknek szánt diagnosztikai segédeszköz; ellenőrzi a memóriában lévő dokumentum aktuális állapotát, és jelzi azokat a problémákat, amelyek PDF/UA-1 érvényesítési hibát okozhatnak; a dokumentum betöltése vagy létrehozása után hívja meg, hogy mentés előtt azonosítsa a problémákat

Ha a SetPDFUAMode aktív, és a dokumentum mentésre kerül, több probléma (ANNOT-NO-CONTENTS, EMBED-NO-AFR) automatikusan javításra kerül mentéskor. A GetPDFUADiagnostics a mentés előtti állapotot jelenti; a mentéskor automatikusan javítandó problémák akkor is szerepelnek a listában, ha a mentés előtt jelen vannak

Ez a függvény nem módosítja a dokumentumot

Példa

var
  Diag: WideString;
begin
  PDFlib.SetPDFUAMode('en-US');
  // ... build document
  Diag := PDFlib.GetPDFUADiagnostics;
  if Diag <> '' then
    ShowMessage('PDF/UA issues found:'#10 + Diag);
end;

Lásd még

SetPDFUAMode, SetDocumentLanguage, SetEmbeddedFileAFRelationship