function InspectPdfUaLanguageCoverage: TPdfUaLanguageCoverageReport; overload;
function InspectPdfUaLanguageCoverage(const Options: TPdfUaLanguageCoverageOptions): TPdfUaLanguageCoverageReport; overload;
این متد اشیای صفحهٔ متنیِ غیر-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 در دسترس نباشند، صفحهای قابل بارگذاری نباشد یا پیمایش کراندارِ ساختار نتواند تمام شود؛ شواهد جمعآوریشده تا آن لحظه در دسترس میمانند
| Member | Purpose |
|---|---|
IncludeCoveredSpans | شواهد پوششیافته را هم در کنار شواهد پوششنیافته ذخیره میکند |
MaxReportedSpans | سقف شواهد ذخیرهشده را میگذارد بدون آنکه شمارش تجمیعی را متوقف کند |
MaxTextCharactersPerSpan | هر گزیدهٔ ذخیرهشده را کراندار میکند در حالی که CharacterCount حفظ میشود |
CoveredSpanCount, UncoveredSpanCount | شمارندههای تجمیعی پوشش زبان در کنار NaturalLanguageSpanCount |
DocumentLanguage, PageCount, PagesScanned | برچسب زبان کاتالوگ و پیشرفت اسکن صفحهها در TPdfUaLanguageCoverageReport |
ReportLimitReached | نشان میدهد بازههای منطبق بیشتری شمرده شده اما ذخیره نشدهاند |
IsCovered | فقط برای یک اسکن کاملشده بدون بازهٔ پوششنیافته True برمیگرداند |
var Report: TPdfUaLanguageCoverageReport;
Report := Pdf1.InspectPdfUaLanguageCoverage;
if Report.Completed and (Report.UncoveredSpanCount > 0) then
ShowMessage(IntToStr(Report.UncoveredSpanCount) + ' language declarations required');