THotPDF.AnalyzeLoadedSignatureRevisions Method
هر بازبینی افزایشی پس از یک امضای انتخابی را دستهبندی و تغییرهای تجمعی را در برابر transformهای DocMDP، UR/UR3، FieldMDP و Identity ارزیابی میکند
اعلانها
function AnalyzeLoadedSignatureRevisions(
SigIndex: Integer;
Source: TStream;
out Analysis: THPDFSignatureRevisionAnalysis
): boolean; overload;
function AnalyzeLoadedSignatureRevisions(
SigIndex: Integer;
out Analysis: THPDFSignatureRevisionAnalysis
): boolean; overload;
واحد
HPDFDoc
پارامترها
| نام | هدف |
|---|---|
SigIndex | اندیس فیلد امضای بارگذاریشده با مبنای صفر |
Source | جریانی در مالکیت فراخواننده شامل بایتهای دقیق PDF بارگذاریشده |
Analysis | جزئیات بازبینی، شیء، فیلد، مجوز، انطباق و تشخیص را دریافت میکند |
انواع تغییر
THPDFRevisionChangeKinds بهطور مستقل نگهداشت اعتبارسنجی بلندمدت، پرکردن فرم، امضا، ساخت/حذف/تغییر حاشیهنویسی، ساخت/حذف/تغییر فایل جاسازیشده، نمونهسازی قالب صفحه و تغییرهای ناشناخته را ثبت میکند
مجموعهٔ نوعها جزئیات عملیاتی را حفظ میکند که یک سطح تغییر مرتبِ واحد نمیتواند بیان کند و تطبیق مجوز UR/UR3 را هدایت میکند
مقدار بازگشت
وقتی بازهٔ بایت امضا و زنجیرهٔ بازبینی تحلیل شده باشند True برمیگرداند، در غیر این صورت False برمیگرداند و علت را در Analysis.Issue گزارش میکند
سطوح تغییر
THPDFRevisionModificationLevel تغییرهای معنایی را از کمترین تا بیشترین محدودیت مرتب میکند
| مقدار | معنا |
|---|---|
rmlNone | بدون تغییر شیء پس از امضا |
rmlLongTermValidation | نگهداشت DSS، VRI، گواهی، ابطال، افزونه یا زمانمهر سند |
rmlFormFillAndSign | مقادیر فرم، ظاهرهای ویجت یا ساختارهای امضا |
rmlAnnotations | اشیاء حاشیهنویسی یا اتصال حاشیهنویسی صفحه |
rmlOther | اشیاء ناشناخته، ناخوانا، آزادشده یا به هر دلیل ممنوع |
جزئیات نتیجه
THPDFSignatureRevisionAnalysis یک THPDFSignatureRevisionChangeArray شامل رکوردهای THPDFSignatureRevisionChange دارد
SignedRevisionLength،TotalRevisionCountوSignedRevisionIndexتصویر امضاشده را درون زنجیرهٔ بازبینی زمانی شناسایی میکنندRevisionsهر آفست xref بعدی، سطح معنایی، مجموعه نوع تغییر، شمارههای شیء تغییر یافته و آزادشده، نام فیلدهای تغییر یافته و هر موضوع دستهبندی محافظهکارانه را گزارش میکندPermissionsاطلاعات کامل transform بازسازیشده از بازبینی امضاشدهٔ دقیق را دارد نه سیاستی که ممکن است در جدیدترین گراف شیء بازتعریف شده باشدDocMDPCompliant،FieldMDPCompliantوURCompliantIdentityCompliantتصمیمهای مستقل را گزارش میکنند، در حالی کهTransformCompliantهمهٔ روشهای transform را با اعتبار ساختاری ترکیب میکندPolicyCompliantبرای فراخوانندههایی که فقط یک تصمیم میخواهند، نتیجهٔ نهایی fail-closed میماند
یادداشتهای استفاده
- سربارگذاری با پشتوانهٔ فایل، فایل مبدأ استفادهشده توسط
LoadFromFileرا باز میکند؛ پس ازLoadFromStreamاز سربارگذاری جریانی استفاده کنید - موقعیت جریان پیش از برگشتن متد بازیابی میشود
- جدولهای xref سنتی، جریانهای xref، ارجاعهای ترکیبی، زنجیرههای افزایشی
/Prevو اعضای object-stream فشرده پشتیبانی میشوند - UR3 از طریق بازهٔ بایت الزامیاش مشارکت میکند؛ امضاهای UR قدیمیِ منسوخشده مرز بازبینی امضاشده ندارند، پس این متد بهجای تلاش برای الگوریتم منسوخ درهمساز شیء، یک
/ByteRangeنامعتبر یا غایب گزارش میکند - حاشیهنویسیها و فایلهای جاسازیشدهٔ آزادشده معنای حذف را از بدنهٔ شیء قبلی خود نگه میدارند، در حالی که اشیاء ناشناخته یا ناخوانا
rmlOtherمیمانند تا بررسیهای سیاست با امنیت شکست بخورند - این متد معنای بازبینیها و مجوزها را ارزیابی میکند اما جایگزین تأیید رمزنگارانهٔ امضا نمیشود
- SaveIncrementalUpdateAuthenticated همین تحلیل را با احراز امضا و انتشار اتمیک ترکیب میکند