function InspectPdfAMetadata: TPdfAMetadataReport;
| Result | TPdfAMetadataReport شامل در دسترس بودن XMP، متن خطای تجزیه، فیلدهای ناهمخوان و هشت مقایسهٔ بهازای هر فیلد |
متد Title، Author، Subject، Keywords، Creator، Producer، CreationDate و ModDate را از طریق PDFium میخواند تا رشتههای PDFDocEncoding و UTF-16 همان رمزگشایی یونیکد سند زنده را داشته باشند
بازرسی خام دیکشنری ثبت میکند که هر کلید Info جدا از مقدارش وجود دارد، پس یک رشتهٔ خالیِ صریح به چشم کلید غایب نگاه نمیشود
Title و Subject به مقدار rdf:Alt با برچسب x-default نیاز دارند؛ Author به rdf:Seq ای با دقیقاً یک مقدار نیاز دارد؛ نگاشتهای دیگر به یک property ساده نیاز دارند که با URI فضاینام و نام محلی پیدا میشود
مقادیر متنی بر اساس دقیقِ نقطههای کد یونیکد مقایسه میشوند؛ تاریخها وقتی هیچیک از دو مقدار منطقهٔ زمانی ندارد بهعنوان اجزای محلی و وقتی هر دو منطقهٔ زمانی دارند بهعنوان لحظههای UTC مقایسه میشوند
TPdfAMetadataState وضعیتهای نیاز-ندارد، معادل، XMP غایب، نوع RDF اشتباه، ناهمخوانی مقدار، تاریخ Info نامعتبر و تاریخ XMP نامعتبر را از هم تفکیک میکند
این متد فقطخواندنی است، به سند فعال نیاز دارد و حالت PDFium یا منبع را تغییر نمیدهد
var Report: TPdfAMetadataReport;
Report := Pdf1.InspectPdfAMetadata;
if Report.HasXmpPacket and not Report.IsEquivalent then
ShowMessage(IntToStr(Length(Report.Comparisons)) + ' fields inspected');