function AnalyzeSignatureRevisions: TPadesRevisionAnalysisReport;
อ่านไบต์ต้นฉบับที่โหลดเข้ามาจริง ตามตาราง xref แบบคลาสสิก, xref stream, hybrid reference และลิงก์ /Prev จากนั้นจับคู่ ByteRange ของลายเซ็นทุกรายการเข้ากับรีวิชันฉบับเต็มที่ลายเซ็นครอบคลุม
อ็อบเจกต์ authoritative ที่ตามมาภายหลังจะถูกจำแนกเป็นลายเซ็น ข้อมูลตรวจสอบความถูกต้อง ฟิลด์ฟอร์ม คำอธิบายประกอบ เนื้อหาหน้า โครงสร้างเอกสาร เมทาดาทา active content อ็อบเจกต์ที่ถูกลบ อ็อบเจกต์บีบอัด หรือการเปลี่ยนแปลงที่ไม่รู้จัก ก่อนประเมินนโยบาย DocMDP และ FieldMDP ที่ใช้บังคับอยู่
นิยามอ็อบเจกต์ที่ปรากฏในไบต์ของรีวิชันแต่ไม่ปรากฏใน xref authoritative จะถูกส่งกลับเป็นการเปลี่ยนแปลงเงาที่น่าสงสัย แทนที่จะถูกละเลยไปโดยเงียบ
TPadesRevisionAnalysisReport คืนค่าสถานะแหล่งที่มา สถานะรวมและความเสี่ยง จำนวนรีวิชันและลายเซ็น ข้อความแสดงข้อผิดพลาด และเรคคอร์ด TPadesSignatureRevisionAnalysis หนึ่งรายการต่อลายเซ็น
เรคคอร์ดลายเซ็นแต่ละรายการประกอบด้วยความยาวและรีวิชันที่ครอบคลุม สิทธิ์ DocMDP การกระทำ FieldMDP และชื่อฟิลด์ จำนวนรีวิชันที่ตามมา ความเสี่ยง สถานะ และการเปลี่ยนแปลงระดับอ็อบเจกต์
Active เป็น TrueSourceStatus เป็น pvssOriginalBytes สำหรับไฟล์ที่ยังเก็บไว้ บัฟเฟอร์หน่วยความจำ สตรีมแบบกำหนดเอง หรือแหล่ง progressive ที่โหลดเสร็จสมบูรณ์pvssIncomplete และ prasIndeterminateprasIndeterminate แทนที่จะเป็นผลลัพธ์แบบอนุญาต
var
Report: TPadesRevisionAnalysisReport;
begin
Report := Pdf1.AnalyzeSignatureRevisions;
if Report.Status in [prasDisallowed, prasSuspicious] then
ShowMessage('The signed document contains unsafe later revisions');
end;