function InspectPdfAMetadata: TPdfAMetadataReport;
| Result | TPdfAMetadataReport ที่บรรจุสถานะมี XMP หรือไม่ ข้อความ parse error ฟิลด์ที่ไม่ตรงกัน และการเปรียบเทียบรายฟิลด์ 8 คู่ |
เมธอดอ่าน Title, Author, Subject, Keywords, Creator, Producer, CreationDate และ ModDate ผ่าน PDFium ทำให้สตริงที่เข้ารหัส PDFDocEncoding และ UTF-16 ถอดรหัส Unicode ด้วยวิธีเดียวกับที่เอกสารที่เปิดอยู่ใช้
การตรวจ dictionary ดิบจะบันทึกว่า key ของ Info แต่ละตัวมีอยู่หรือไม่แยกจากค่าของมัน สตริงว่างที่ระบุไว้ชัดเจนจึงไม่ถูกนับเป็น key ที่ขาดหาย
Title และ Subject ต้องมีค่า rdf:Alt ที่ติดแท็ก x-default Author ต้องมี rdf:Seq ที่มีค่าเดียวพอดี ส่วน mapping อื่นต้องเป็น simple property ที่หาเจอจาก namespace URI และ local name
ค่าข้อความเปรียบเทียบกันที่ Unicode code point แบบเป๊ะ ส่วนวันที่เปรียบเทียบเป็นองค์ประกอบเวลาท้องถิ่นเมื่อไม่มีฝั่งใดระบุ timezone หรือเป็นช่วงเวลา UTC เมื่อทั้งสองฝั่งมี timezone
TPdfAMetadataState แยกสถานะต่าง ๆ ได้แก่ ไม่ต้องระบุ เทียบเท่ากัน ขาด XMP ชนิด RDF ผิด ค่าไม่ตรงกัน วันที่ Info ไม่ถูกต้อง และวันที่ XMP ไม่ถูกต้อง
เมธอดนี้อ่านอย่างเดียว ต้องมีเอกสารที่ active อยู่ และไม่แก้ไขสถานะของ PDFium หรือเอกสารต้นทาง
var Report: TPdfAMetadataReport;
Report := Pdf1.InspectPdfAMetadata;
if Report.HasXmpPacket and not Report.IsEquivalent then
ShowMessage(IntToStr(Length(Report.Comparisons)) + ' fields inspected');