THotPDF.ValidatePDFUA2Structure Method
מריצה אימות מבנה PDF/UA-2 מתוחם על גרף אובייקטים של מפיק או של מסמך טעון, ומחזירה אבחון מובנה ויציב בלי לשנות את המסמך
הצהרה
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Issues: THPDFUA2ValidationIssues): boolean; overload;
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Findings: THPDFComplianceFindings): boolean; overload;
יחידה
HPDFDoc
אפשרויות אימות
משתמשים ב-THPDFUA2ValidationOptions.Default לאימות יצירה מחמיר, או מכווננים מדיניות סמנטיקה בודדות לאבחון קליטה
| שדה | מטרה |
|---|---|
HeadingPolicy | מתעלם, מאבחן או דוחה רמות כותרת שדולגו |
AllowDocumentFragmentHeadingStarts | מאפס הקשר כותרות בתוך DocumentFragment |
CheckDocumentSemantics | בודק את שפת ה-Catalog, מטא-דאטה, כותרת מוצגת, optional content וקבצים מוטמעים |
CheckHumanReadableStrings | דוחה תווי private-use של Unicode במחרוזות קריאות לאדם |
CheckAnnotationSemantics | בודק סדר tab של עמוד, בעלות על הערות, תפקידים, דגלים, תיאורים וזרמי הופעה |
CheckFormSemantics | בודק שדות AcroForm, widgets, תוויות, פעולות, אפשרויות וערכים עשירים |
CheckNavigationSemantics | בודק יעדי מבנה, outlines ועצי מספור מקוננים של תוויות עמודים |
RequireListLabels | דורש Lbl אחד לכל פריט רשימה ממוספר |
RequireExplicitTableHeaderAssociations | מדווח על תאי נתונים שתלויים רק בהסקת scope |
CheckListSemantics | בודק מספור, שרשראות המשך, כתוביות, תוויות, גופי רשימה ומיקום של תוכן אמיתי ישיר |
CheckTableSemantics | בודק גיאומטריית grid מתוחמת, קבוצות שורות, spans, scopes וקישורי כותרות מקומיים לטבלה |
CheckRubyWarichuSequences | בודק את רצפי הצאצאים הישירים המדויקים הנדרשים ל-Ruby ול-Warichu |
CheckPronunciationHints | בודק טיפוסי רשומות הגייה ולקסיקונים של PLS מוטמעים עקיפים |
RequireStructureAssociatedFiles | דורש שכל קובץ משויך של הקטלוג יהיה ניתן להגעה מהמבנה |
RequireFormulaTextAlternative | דורש Alt, ActualText או MathML משויך עבור נוסחאות |
MaxObjects | מתחם סריקת אובייקטים עקיפים, עם ברירת מחדל של 1,000,000 אובייקטים |
MaxIssues | מתחם אבחון שנשמר, עם ברירת מחדל של 256 בעיות |
ערך מוחזר
מחזיר True רק כשלא נותר אבחון מסוג uisError
Diagnostics
THPDFUA2IssueSeverity מבדיל אזהרות משגיאות, וכל THPDFUA2ValidationIssue נושא קוד יציב עם מרחב שמות, סעיף רלוונטי, נתיב אובייקט, מספר אובייקט, אינדקס עמוד מאפס כשידוע והודעה קריאה לאדם, במערך THPDFUA2ValidationIssues
- האימות לעולם לא יוצר
StructTreeRootחסר או מילון מרחבי שמות - מפות תפקידים מודעות מרחבי שמות נפתרות טרנזיטיבית, עם זיהוי מעגלים ועומק
- מטא-דאטה של המסמך, מחרוזות קריאות לאדם, optional content, אלמנטי מבנה, קישורים חוזרים להורה, תכונות, הערות, טפסים, ניווט, קבצים משויכים, כותרות, רשימות, טבלאות, Ruby, Warichu, רמזי הגייה, נוסחאות ו-MathML נבדקים במעבר מתוחם אחד
- בעלות על הערות במסמך טעון נפתרת מה-ParentTree הפיזי ותומכת ברשומות
Kסקלריות או מערכיות, בלי להסתמך על מצב המפיק - ניווט מקומי דורש יעדי מבנה, מעדיף
SDלפני fallback תואם שלD, ומאמת עצי מספור מקוננים של תוויות עמודים - תכונות XMP נפתרות לפי URI של מרחב השמות, כך שקידומות חלופיות תקינות נשארות סבילות להדדיות
- אבחון טבלאות מבדיל spans לא תקינים, חפיפות תאים, שורות וקבוצות שורות לא סדירות, מזהי cross-table, הפניות כותרת כפולות או מעגליות וקישורים אלגוריתמיים חסרים
- אבחון רשימות מבדיל מספור לא תקין, תוכן לא עטוף, מבנה תווית וגוף, הפניות המשך ממוספרות באותה רמה ומעגלי המשך
- גיאומטריית טבלה מורחבת חולקת את התחום של
MaxObjectsונכשלת בביטחון עםua2.table.limit.cells ua2.limit.objectsנכשל בביטחון לפני סריקת גרף עצום מדי
ממצאים קריאים למכונה
ה-overload של THPDFComplianceFindings ממפה את אותו מעבר אימות מתוחם אל המודל המשותף של התאימות, בלי לשנות את סדר האימות ובלי לגעת בגרף
כל ממצא מזהה PDF/UA-2, חומרה, מזהה כלל, סעיף תקן, נתיב, מספר אובייקט, אינדקס עמוד, הודעה ומצב תיקון crsNotAttempted