PDFium Delphi Component Docs

InspectPdfUaLanguageCoverage متد

کامپوننت: TPdf  ·  واحد: PDFium
پوشش زبان مؤثر PDF/UA را برای متن صفحه و رشته‌های دسترس‌پذیری ساختار گزارش می‌کند

Syntax

function InspectPdfUaLanguageCoverage: TPdfUaLanguageCoverageReport; overload;
function InspectPdfUaLanguageCoverage(const Options: TPdfUaLanguageCoverageOptions): TPdfUaLanguageCoverageReport; overload;

Description

این متد اشیای صفحهٔ متنیِ غیر-Artifact را به‌همراه رشته‌های Title، AlternateText، ActualText و Expansion عناصر ساختار اسکن می‌کند

زبان مؤثر از ترتیب ارث‌بری ISO 14289-1 پیروی می‌کند: نخست اعلام /Lang درونی‌ترین marked-content، سپس نزدیک‌ترین جد ساختاریِ دارای زبان و بعد زبان کاتالوگ

یک اعلام نزدیکِ نامعتبر همچنان معتبر-حاکم می‌ماند و به‌جای افتادن به سوی اعلام بیرونیِ معتبر، شواهد پوشش‌نیافته تولید می‌کند

هر TPdfUaLanguageSpan ثبت می‌کند: PageNumber، PageObjectIndex، MCID، StructureElementIndex، یک ContentKind از pulckPageText، pulckTitle، pulckAlternateText، pulckActualText یا pulckExpansion، کل CharacterCount، گزیدهٔ کراندارِ Text با پرچم TextTruncated، و زبان مؤثر با وضعیت DeclarationValid آن

حل زبان از طریق TPdfUaLanguageResolution گزارش می‌شود، با برچسب Language، یک Source از pulsNone، pulsCatalog، pulsStructure یا pulsMarkedContent، StructureElementIndex مبدأ، DeclarationValid و کمک‌تابع IsCovered

گزینه‌های پیش‌فرض فقط بازه‌های پوشش‌نیافته را ذخیره می‌کنند، سقف شواهد را ۱۰۰۰ بازه می‌گذارند و هر گزیده را به ۲۵۶ نویسه محدود می‌کنند، در حالی که شمارش تجمیعی در کل سند ادامه می‌یابد

Completed وقتی False است که APIهای لازم PDFium در دسترس نباشند، صفحه‌ای قابل بارگذاری نباشد یا پیمایش کراندارِ ساختار نتواند تمام شود؛ شواهد جمع‌آوری‌شده تا آن لحظه در دسترس می‌مانند

گزینه‌ها و نتیجه

MemberPurpose
IncludeCoveredSpansشواهد پوشش‌یافته را هم در کنار شواهد پوشش‌نیافته ذخیره می‌کند
MaxReportedSpansسقف شواهد ذخیره‌شده را می‌گذارد بدون آنکه شمارش تجمیعی را متوقف کند
MaxTextCharactersPerSpanهر گزیدهٔ ذخیره‌شده را کراندار می‌کند در حالی که CharacterCount حفظ می‌شود
CoveredSpanCount, UncoveredSpanCountشمارنده‌های تجمیعی پوشش زبان در کنار NaturalLanguageSpanCount
DocumentLanguage, PageCount, PagesScannedبرچسب زبان کاتالوگ و پیشرفت اسکن صفحه‌ها در TPdfUaLanguageCoverageReport
ReportLimitReachedنشان می‌دهد بازه‌های منطبق بیشتری شمرده شده اما ذخیره نشده‌اند
IsCoveredفقط برای یک اسکن کامل‌شده بدون بازهٔ پوشش‌نیافته True برمی‌گرداند

Example

var Report: TPdfUaLanguageCoverageReport;
Report := Pdf1.InspectPdfUaLanguageCoverage;
if Report.Completed and (Report.UncoveredSpanCount > 0) then
  ShowMessage(IntToStr(Report.UncoveredSpanCount) + ' language declarations required');

See Also

ValidatePdfUa, پیمایش ساختار, کمک‌تابع‌های استانداردهای PDF