PDFium Delphi Component Docs

الطريقة SaveAsRedacted

المكوّن: TPdf  ·  الوحدة: PDFium
تطبِّق تعليقات حجب PDF على لقطة معزولة وتكتب نتيجة مراجعة واحدة نظيفة دون تعديل المستند المحمَّل

الصياغة

function SaveAsRedacted(Stream: TStream;
  const Options: TPdfRedactionOptions;
  out Report: TPdfRedactionReport): Boolean; overload;

function SaveAsRedacted(const FileName: string;
  const Options: TPdfRedactionOptions;
  out Report: TPdfRedactionReport): Boolean; overload;

الوصف

يلتقط SaveAsRedacted المستند الحالي في لقطة وصول عشوائي معزولة، ويفتح تلك اللقطة كـ TPdf منفصل، ويعالج كل مستطيل تعليق /Redact

تفعّل الافتراضات PreservePartialObjects و PreserveComplexObjects لحفظ الهندسة الآمنة المدعومة؛ يعيد النطاق المحدود النص من المحارف المحفوظة ويقص المسارات الممتلئة بلون ثابت ويمسح بكسلات الصور affine المتقاطعة

عند وجود أي تعليق تنقيح، يوسع النطاق التفصيلي جميع نسخ Form XObject في كل الصفحات حتى غير المنقحة؛ تُركب التحويلات ثم تُزال التدفقات الأصلية المشتركة بإزالة الموارد

ضع PreservePartialObjects := False لحذف الكائنات الكاملة المتقاطعة، أو أبقه مع PreserveComplexObjects := False للنمط البسيط من النص والمستطيلات والصور المحورية؛ ينطبق فحص المصدر على الثلاثة

يحذف كل تعليقات التنقيح، واختياريًا غيرها المتقاطع، ومرفقات التعليقات على الصفحات المنقحة والمرفقات الأصلية المضمنة؛ يزيل إعادة الكتابة النظيفة /AF والمحتوى النشط والنماذج والبيانات الوصفية والكائنات غير المتاحة

بعد إعادة توليد محتوى الصفحة يمسح تقليم الموارد الدقيق نطاقات موارد الصفحة و form XObject والنمط والمظهر والموروثة والمتداخلة، ويزيل الأسماء غير المستخدمة فقط قبل إسقاط الكائنات غير القابلة للوصول

النتيجة مراجعة واحدة نظيفة بلا تاريخ سابق، والمصدر المحمل سليم؛ يوقف عدم دعم الدلالات أو الهندسة العملية بدل إنتاج تنقيح ناقص

الخيارات

تُفحص هذه الخيارات وتُستخدم في النمط التفصيلي، ولا ترفع ميزانيات فحص المصدر المستقلة

التقرير

يعيد TPdfRedactionReport قيم RedactionCount و RedactedPageCount و ScannedObjectCount و RemovedObjectCount و RemovedAnnotationCount و RemovedAttachmentCount و OverlayCount و SplitTextObjectCount و SplitPathObjectCount و SplitImageObjectCount و PreservedFragmentCount، وعدّي البايتات، وتقريري SanitiseReport و ResourcePruneReport المتداخلين، و Succeeded، و ErrorMessage

يضيف التفصيل ExpandedFormCount و ScannedFormChildCount و FlattenedCurveCount و GeneratedPathPointCount و MaskedImageCount و ScannedImagePixelCount و MaskedImagePixelCount و PixelIntersectionTestCount و GeometryOperationCount؛ تسجل CurveTolerancePdfPoints التسامح بعد النجاح

تعد ScannedFormChildCount الكائنات المزارة بما فيها جذور Form، وتشمل GeneratedPathPointCount نقاط القص الوسيطة وتسطيح المنحنيات

تعد MaskedImagePixelCount البكسلات التي مسحت ألوانها و alpha بالكامل، وتعد PreservedFragmentCount كائنات الاستبدال لا البكسلات أو الحدود؛ قد تكون عدادات الفشل جزئية ولا تعني إخراجًا معتمدًا

حدود الأمان

مثال

var
  Options: TPdfRedactionOptions;
  Report: TPdfRedactionReport;
begin
  Options := TPdfRedactionOptions.Default;
  Options.FillColor := clBlack;
  if not Pdf1.SaveAsRedacted('C:\redacted.pdf', Options, Report) then
    raise Exception.Create(Report.ErrorMessage);
end;

انظر أيضًا

SaveAsSanitised, SaveAsReachable, CreateAnnotation, مساعدات FPdfRedaction الهندسية