THotPDF.ValidatePDFA4 Method

מאמתת גרף אובייקטים שנוצר או נטען מול פרופיל PDF/A-4 הבסיסי, PDF/A-4e ההנדסי או PDF/A-4f לקבצים משויכים הנתמכים, ומחזירה אבחון מובנה ויציב

הצהרה

function ValidatePDFA4(
  const Options: THPDFPDFA4ValidationOptions;
  out Issues: THPDFPDFA4ValidationIssues): boolean; overload;

function ValidatePDFA4(
  const Options: THPDFPDFA4ValidationOptions;
  out Findings: THPDFComplianceFindings): boolean; overload;

יחידה

HPDFDoc

טיפוסי פרופיל וחומרה

THPDFPDFA4Profile = (
  p4pAutomatic,
  p4pBase,
  p4pEngineering,
  p4pAssociatedFiles
);

THPDFPDFA4IssueSeverity = (
  p4isWarning,
  p4isError
);

THPDFPDFA4Profile בוחר בין הסקת מטא-דאטה לבין פרופיל תאימות מפורש, ו-THPDFPDFA4IssueSeverity מבדיל אבחון מייעץ משגיאות אימות

Options

שדהמטרה
Profileבוחר אימות מבוסס מטא-דאטה אוטומטי, בסיסי, הנדסי או של קבצים משויכים
MaxObjectsמתחם מעבר איטרטיבי על גרף האובייקטים, עם ברירת מחדל של 1,000,000 אובייקטים
MaxIssuesמתחם אבחון שנשמר, עם ברירת מחדל של 1,024 בעיות
MaxDecodedBytesמתחם בייטים מצטברים של מטא-דאטה, ICC וזרמי תוכן שפוענחו, עם ברירת מחדל של 64 MiB
MaxContentTokensמתחם tokens מצטברים של זרמי תוכן, עם ברירת מחדל של 4,000,000 tokens
CheckEmbeddedFontsבודק גופני רינדור מול תוכנית גופן מוטמעת
CheckAnnotationAppearancesבודק דגלי הערות וזרמי הופעה רגילים
CheckOptionalContentבודק שמות תצורה של optional content ואת הייחודיות שלהם
CheckColourSpacesבודק צבע התקן מצויר, פרופילי ICC, output intents, ברירות מחדל, תמונות, shadings, טפסים וקבוצות שקיפות
CheckTransparencyבודק alpha מצויר, מסכות רכות, מצבי blend וכיסוי מרחבי blending ברמת עמוד
CheckCompositeFontsבודק צאצאי Type 0, CIDSystemInfo, תאימות CMap ואילוצי CIDToGIDMap
CheckMetadataPacketsבודק כל זרם מטא-דאטה מול אילוצי UTF-8, כותרת packet, מעטפת RDF וזיהוי PDF/A

Diagnostics

כל THPDFPDFA4ValidationIssue מדווח על חומרה, קוד יציב עם מרחב שמות, סעיף ISO 19005-4 הרלוונטי, נתיב אובייקט, מספר אובייקט, אינדקס עמוד מאפס כשידוע והודעה קריאה לאדם

ה-overload של THPDFComplianceFindings חושף את אותו מעבר דרך מודל הממצאים המשותף הקריא למכונה, עם פרופיל PDF/A-4 ומצב תיקון crsNotAttempted

ה-validator מכסה זיהוי PDF 2.0, מצב trailer ID והצפנה, כל packet של מטא-דאטה, הגבלות Info, כותרות ICC ומספרי ערוצים, output intents של מסמך ועמוד, צבע התקן מצויר, מצב גרפיקה בירושה על פני מערכי זרמי תוכן ו-Form XObjects מקוננים, מסכות תמונה, shadings, שקיפות, הטמעת גופני רינדור, קשרי גומלין של גופנים מורכבים, הערות והופעות, הגבלות AcroForm, פעולות ופעולות נוספות, קבצים משויכים, optional content, הפניות חוץ וכללי 3D או קבצים מצורפים הייחודיים לפרופיל

ממצאי צבע ושקיפות מבוססים על אופרטורי ציור ולא רק על אופרטורי קביעת צבע; tokenization של תוכן ושימוש חוזר בזרמים מפוענחים נשמרים במטמון, ובכל קריאה עדיין מוערך מצב הגרפיקה בירושה עבור הקשר של העמוד או ה-Form שלה

מגבלות בייטים מפוענחים, tokens של תוכן, אובייקטים ובעיות שנשמרו נכשלות בביטחון עם ממצאי pdfa4.validation.* יציבים, לפני שעבודה בלתי מתוחמת יכולה להימשך

דוגמה

var
  Options: THPDFPDFA4ValidationOptions;
  Issues: THPDFPDFA4ValidationIssues;
begin
  Options := THPDFPDFA4ValidationOptions.Default;
  Options.Profile := p4pAutomatic;
  if not PDF.ValidatePDFA4(Options, Issues) then
    raise Exception.CreateFmt('%s at %s',
      [String(Issues[0].Code), String(Issues[0].Path)]);
end;

התנהגות יצירה

EndDoc מריץ אוטומטית את ה-validator עבור '4', '4E' ו-'4F' וזורק חריגה לפני הסריאליזציה כשנותרת שגיאה

יצירת PDF/A-4 משמיטה את רשומת Info של ה-trailer, יצירת PDF/A-4f תמיד יוצרת את עץ השמות EmbeddedFiles הנדרש, והערות צירוף קבצים מתקבלות רק ב-PDF/A-4f שבו זרם מוטמע, Filespec, קשר גומלין AF, מערך ה-AF של ה-Catalog ועץ השמות נפלטים יחד

ממשקי API קשורים