یک حذف (redaction) تنها زمانی کامل است که شما فایل مورد نظر برای انتشار را بررسی کرده باشید، و یک عامل هوش مصنوعی بتواند این بررسی را به‌صورت محلی در چند فراخوانی انجام دهد.
با اتصال GroupDocs.Redaction.Mcp به Claude Code، Cursor یا GitHub Copilot، ابتدا نسخه حذف‌شده را به‌صورت متن بخوانید و جستجو کنید:

متن پرونده case-file_redacted.pdf را استخراج کنید و به من بگویید آیا هیچ آدرس ایمیلی در آن ظاهر می‌شود یا خیر.

هیچ‌کدام انتظار نمی‌رود.
نسخه گام‌به‌گام با پیکربندی و عیب‌یابی در مستندات موجود است: چگونه تأیید کنیم که حذف کامل است.

چرا «ابزار اجرا شد» شواهد نیست؟

زیرا یک ابزار حذف که بدون خطا به پایان می‌رسد، درباره الگو، فایل، وضعیت لایسنس یا مکان‌های دیگر که داده‌ها در آن مخفی هستند، چیزی نمی‌گوید. حذف‌کاری که شما آن را تأیید نکرده‌اید، یک ادعاست، نه یک کنترل. روش معمولی که این خطا رخ می‌دهد، عجیب نیست. دسته‌های خطا کم هستند:

  • داده‌ها پوشانده شده بودند، حذف نشدند. بلوک‌های مات که بر روی متن کشیده می‌شوند، متن را در فایل باقی می‌گذارند و خوانندگان می‌توانند آن را کپی کنند. مقاله ویکی‌پدیا درباره redaction گزارشی نظامی ایالات متحده در سال ۲۰۰۵ درباره مرگ نیکولا کالیپاری را توصیف می‌کند که به‌صورت PDF منتشر شده بود و بخش‌های مسدود شده می‌توانستند با کپی و چسباندن به یک واژه‌پرداز بازیابی شوند (همچنین به BBC News, 2 May 2005 مراجعه کنید).
  • الگو یک گونه متفاوت را از دست داد: جداکننده متفاوت، شکست خط، یا حروف متفاوت.
  • یک مرحله به فایل اشتباه اعمال شد، بنابراین مرحلهٔ بعدی مرحلهٔ قبلی را بازگرداند.
  • نظرات یا ویژگی‌های سند هنوز نام شخص را نشان می‌دهند.
  • یک اجرای بدون لایسنس به‌صورت ساکت در حد جایگزینی خود متوقف شد.

روش نادرست برای تأیید چیست؟

پرسیدن از عامل «آیا همه چیز را دریافت کردی؟» و پذیرش «بله». عامل هیچ اطلاعات جدیدی ندارد؛ او در حال خلاصه‌سازی فراخوانی‌های خود است. روش نادرست دوم این است که فایلی را که فکر می‌کنید تولید کرده‌اید، تأیید کنید. قانون زنجیره‌ای به این معنی است که کاملاً ممکن است سندی را تأیید کنید که یک مرحله را نادیده گرفته است.

روش صحیح چیست؟ چهار بررسی

آنها را بر روی همان فایلی که قصد انتشار آن را دارید اجرا کنید.

1. نسخه حذف‌شده را به‌صورت متن بخوانید.
دستوری که در بالا آمده این کار را با ابزاری که متن را برمی‌گرداند، انجام می‌دهد، مانند extract_text در GroupDocs.Parser.Mcp (docs) که به‌صورت تصویر Docker ارائه می‌شود. هر نتیجه‌ای به این معنی است که الگو گونه‌های مختلف را از دست داده یا اجرای برنامه به حد ارزیابی رسیده است. برای این بررسی از redact_text استفاده نکنید: این ابزار یک فایل ذخیره‌شده را گزارش می‌کند، نه شمارش، و یک نسخه دیگر می‌نویسد، بنابراین پاسخی تمیز نشان‌دهندهٔ چیزی نیست.

2. سه مکان دیگر را بررسی کنید.
حاشیه‌نویسی‌ها و ویژگی‌ها در جستجوی متن ظاهر نمی‌شوند. سرور GroupDocs.Annotation.Mcp حاشیه‌نویسی‌ها را با get_annotations فهرست می‌کند، یک ورودی برای هر نظر همراه با صفحه و پیام آن.

اکنون نسخه حذف‌شده را برای حاشیه‌نویسی‌ها بررسی کنید و ویژگی‌های سند آن را بخوانید.

برای بررسی عمیق‌تر ویژگی‌ها در تمام بسته‌ها، ابزار read_metadata سرور GroupDocs.Metadata.Mcp تمام ویژگی‌های متادیتا را به‌صورت JSON برمی‌گرداند و همچنین EXIF، XMP و IPTC را می‌خواند. این یک حلقهٔ بین‌سروری است: سرور Redaction حذف می‌کند، سرور دوم باز می‌خواند.

3. به صفحات نگاه کنید.
حذف‌های ناحیه‌ای را نمی‌توان با جستجوی متن تأیید کرد. سند را باز کنید یا از عامل بخواهید هر صفحه را با ابزار render_page در GroupDocs.Viewer.Mcp رندر کند و تأیید کنید که هر جعبه به‌طور کامل آنچه باید را در صفحهٔ صحیح پوشش می‌دهد.

4. وضعیت لایسنس سرور حذف را تأیید کنید.

وضعیت لایسنس سرور حذف چیست؟

اگر پاسخ evaluation باشد، حذف به چهار جایگزینی محدود شده بود. تأیید معمولاً این را نشان می‌دهد، اما سندی که دقیقاً چهار مورد مطابقت دارد می‌تواند عبور کند و همچنان نادرست باشد. ابتدا لایسنس، سپس تأیید، هر بار. get_license_status به سؤال اول پاسخ می‌دهد و get_document_info تعداد صفحات و اندازه‌ها را وقتی حذف ناحیه‌ای درگیر است، برمی‌گرداند.

جلسهٔ نمونه (مختصر)

You:    What is the license status of the redaction server?
Agent:  -> get_license_status()   mode: licensed
You:    Extract the text of case-file_redacted.pdf and tell me whether any email address appears.
Agent:  -> extract_text (Parser server)   No email addresses in the extracted text.
You:    Now check it for annotations and read its document properties.
Agent:  -> get_annotations (Annotation server)   no annotations
        -> read_metadata (Metadata server)       Author, Company: empty
You:    Summarize what you redacted, in which file, and what the verification found.

چگونه شواهد را نگه دارید؟

رونوشت تأیید، به این معنی که الگوهای استفاده‌شده، فایل‌های تولیدشده و آنچه بازخوانی یافت، رکوردی است که حذف انجام و بررسی شده است. از عامل بخواهید آن را به‌صورت خلاصه ارائه دهد و همراه با پروندهٔ مورد نگه دارید. این برای ردپای حسابرسی مناسب است، نه گواهی نهایی نتیجه.

چه چیزی را تأیید نمی‌تواند به شما بگوید؟

نمی‌تواند بگوید آیا الگوهای شما درست بوده‌اند یا نه. همهٔ مطالب بالا نشان می‌دهد آنچه خواستید حذف شود، حذف شده است. تصمیم‌گیری دربارهٔ آنچه باید حذف شود، قضاوت شماست و هیچ ابزاری این کار را از دست شما نمی‌گیرد.

محدودیت‌های حالت ارزیابی چیست؟

یک سند در هر فرآیند، یک حذف، محدود به ۴ جایگزینی، به‌علاوه نشان‌های آزمایشی. این محدودیت یک حد دموی است؛ یک اجرای بدون لایسنس به‌نظر حذف می‌آید اما هنوز می‌تواند داده‌ها را داشته باشد، بنابراین قبل از اعتماد به هر تأییدی get_license_status را بررسی کنید.

  • PDF روی لینوکس. در لینوکس، از جمله تصویر Docker، redact_image_area و erase_metadata در حال حاضر بر روی فایل‌های PDF شکست می‌خورند (مدیریت تصویر موتور PDF به System.Drawing وابسته است که .NET فقط در ویندوز پشتیبانی می‌کند)؛ هر دو بر روی اسناد Word کار می‌کنند و redact_text بر روی PDF کار می‌کند. حذف ناحیه‌ای PDF و پاک‌سازی متادیتا را در ویندوز با dnx اجرا کنید.

سؤالات متداول

آیا PDF حذف‌شده من واقعاً حذف شده است؟ فقط اگر بازخوانی متن نسخه حذف‌شده هیچ‌یک از مقادیر حذف‌شده را پیدا نکند، حاشیه‌نویسی‌ها و ویژگی‌ها پاک باشند، و شما ناحیه‌های حذف‌شده را بررسی کرده باشید. بررسی تمام چهار مورد چند فراخوانی می‌گیرد.

آیا یک عامل هوش مصنوعی می‌تواند PDF حذف‌شده را برای نشت داده‌ها بررسی کند؟ می‌تواند متن را بازخوانی کند، ویژگی‌ها را از طریق سرور متادیتا بخواند و صفحات را برای مشاهده شما رندر کند. اما نمی‌تواند قضاوت کند که آیا الگوهای صحیح را انتخاب کرده‌اید یا نه.

آیا متادیتا پس از حذف متن باقی می‌ماند؟ بله، مگر اینکه همچنین erase_metadata را اجرا کنید. حذف متن متن را تغییر می‌دهد؛ ویژگی‌های نویسنده، شرکت و تاریخ جداگانه هستند.

عمیق‌تر بروید