حجب النص في PDF
اكتب «falcon» مرة واحدة فتتحول الصيغ الثلاث في الجملة، Falcon وFALCON وfalcon، إلى ████، مع عدد 3 يؤكد ذلك. استخدمه على النص المستخرج من ملف PDF قبل مشاركته أو فهرسته أو حفظه. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- الحدود
- falcon
- عدد المواضع المحجوبة
- 3
تزيل أداة حجب نص PDF جميع مرات ظهور العبارات التي تحددونها في النص المستخرج من ملف PDF، دون تمييز بين الأحرف الكبيرة والصغيرة. وتستبدل كل تطابق بعلامة سوداء ظاهرة، كما تعرض الاستجابة العدد الدقيق لعمليات الاستبدال. تفيد الأداة عندما يتوافر في مسار العمل نص قابل للتحديد أو مستخرج من PDF، ويجب تنقيته بطريقة متوقعة قبل المراجعة أو الفهرسة أو المشاركة أو التخزين. المطابقة حرفية وحتمية، ولذلك تعامل علامات الترقيم الموجودة في العبارة بوصفها أحرفا عادية، لا تعليمات لنمط بحث.
جهزوا نص PDF وقائمة العبارات المطلوب حجبها
ابدؤوا بنص مستخرج من ملف PDF مع الحفاظ على الصياغة وفواصل الأسطر المهمة للمرحلة التالية من مسار العمل. ضعوا المحتوى في الحقل text، ثم أضيفوا سلسلة حرفية واحدة أو أكثر إلى قائمة terms. قد تكون العبارة اسما أو مرجعا لحساب أو تسمية لمشروع أو جزءا من عنوان أو أي تسلسل دقيق ينبغي ألا يظهر بعد المعالجة.
لا تميز المطابقة حالة الأحرف اللاتينية، ولذلك يكفي إدخال «Falcon» للعثور أيضا على «FALCON» و«falcon». لا تعامل العبارات كتعبيرات نمطية؛ فالنقاط والأقواس وعلامات الجمع والاستفهام تبحث كأحرف عادية، مما يمنع تحول عبارة بسيطة إلى نمط غير مقصود. ترفض القائمة الفارغة لأن إعادة النص دون تغيير قد توحي خطأ بأن الحجب تم بنجاح.
وترفض كذلك السلاسل الفارغة داخل القائمة. يجعل هذا العقد الصريح الأداة مناسبة للمسارات المؤتمتة التي يجب أن تتوقف عند غياب قيمة من سياسة الحجب بدلا من تمرير محتوى حساس إلى المرحلة اللاحقة.
تعرفوا إلى سلوك المطابقة والاستبدال
تفحص الأداة النص الأصلي من بدايته إلى نهايته، وتستبدل كل تطابق غير متداخل بالعلامة الثابتة «████». تعامل العبارات المكررة التي لا تختلف إلا في حالة الأحرف على أنها عبارة بحث واحدة، كي لا يحسب المقطع نفسه مرتين. وإذا أمكن أن تبدأ عدة عبارات عند الحرف نفسه، تعطى الأولوية للعبارة الأطول.
فعند إدخال «North» و«North Harbor» مثلا، تحجب العبارة الكاملة إذا ظهرت في ذلك الموضع. لا تتسلسل عمليات الاستبدال، لأن العلامات المدرجة جزء من الناتج ولا يعاد البحث فيها. قد يكون العدد صفرا عندما تكون القائمة صحيحة ولا تظهر أي عبارة.
يؤكد ذلك اكتمال العملية بنجاح، بخلاف القائمة الفارغة أو غير الصالحة التي تنتج خطأ. المطابقة حرفية ولا تستنتج حدود الكلمات، ولذلك قد تطابق عبارة قصيرة جزءا من كلمة أطول. أدخلوا الصياغة الدقيقة التي تريدون إزالتها.
استخدموا الناتج بأمان في مسار المستندات
تعمل هذه القدرة على نص PDF الذي يقدمه طالب المعالجة، ولا تعدل رسوم الصفحات أو التعليقات أو الطبقات المخفية أو البيانات الوصفية أو الملف الثنائي الأصلي. استخدموها عندما يكون النص المستخرج نفسه هو الناتج الذي سيعرض أو يفهرس أو يلخص أو يسجل أو يرسل إلى نظام آخر. وإذا كان المطلوب نشر ملف PDF محجوب بصريا، فطبقوا حجبا أصليا على المستند المصدر وتحققوا من تعذر استعادة المحتوى الكامن تحته.
ويمكن الاحتفاظ بالعدد وإصدار السياسة في سجل تدقيق دون حفظ الأصل الحساس. راجعوا اختيار العبارات بعناية؛ فالمطابقة الحرفية متوقعة، لكنها لا تكتشف الصيغ التي لم تدرج في القائمة. تعمل الخوارزمية الحتمية نفسها دون اتصال بالشبكة، ولذلك تبقى النتائج مستقرة عند تكرار الطلب بمدخلات متطابقة.
حالات الاستخدام
تنقية النص قبل الفهرسة
أزيلوا أسماء العملاء وتسميات المشاريع الداخلية والأرقام المرجعية قبل إدخال نص PDF المستخرج في فهرس البحث.
إعداد نسخة للمراجعة
أنشئوا نسخة نصية ذات علامات واضحة للمراجعين الذين ينبغي أن يقرؤوا المستند من دون الاطلاع على عبارات سرية محددة.
تطبيق سياسة للعبارات المعروفة
طبقوا قائمة معتمدة من العبارات الحساسة ضمن مسار مؤتمت، وسجلوا عدد الاستبدالات لأغراض التدقيق.
الأسئلة الشائعة
هل تميز المطابقة بين الأحرف الكبيرة والصغيرة؟
لا. تغطي العبارة الواحدة صيغ الأحرف الكبيرة والصغيرة والمختلطة.
هل تفسر العبارات على أنها تعبيرات نمطية؟
لا. تعامل كل عبارة حرفيا، بما في ذلك علامات الترقيم والأحرف الخاصة في التعبيرات النمطية.
هل تعدل هذه الأداة ملف PDF الأصلي؟
لا. تحجب نصا مستخرجا مسبقا، ولا تغير ملف PDF الثنائي أو الرسوم أو البيانات الوصفية أو المحتوى المخفي.
هل يمكن أن يحجب مصطلح قصير جزءًا من كلمة أطول؟
نعم. لا تراعي المطابقة حدود الكلمات، لذا قد يُعثر على المصطلح القصير داخل كلمة أخرى. اكتب العبارة الدقيقة التي تريد إزالتها حتى لا تحجب أكثر مما قصدت.
لماذا قد يظهر العدد صفرًا؟
الصفر يعني أن القائمة صحيحة لكن لم يظهر أي من مصطلحاتها في النص، وهذا يؤكد أن الخطوة نُفذت. أما القائمة الفارغة فتُرفض حتى لا يظن أحد أن الحجب تم.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/pdf/redact-text \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Project Falcon belongs to FALCON Holdings.","terms":["falcon"]}'const res = await fetch("https://api.kit.forhosting.com/pdf/redact-text", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Project Falcon belongs to FALCON Holdings.",
"terms": [
"falcon"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/redact-text",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Project Falcon belongs to FALCON Holdings.",
"terms": [
"falcon"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/redact-text", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Project Falcon belongs to FALCON Holdings.","terms":["falcon"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Project Falcon belongs to FALCON Holdings.","terms":["falcon"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/redact-text", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Project Falcon belongs to FALCON Holdings.",
"terms": [
"falcon"
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.redact_text",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 25 |
max_pages | 200 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تعرفوا إلى سلوك المطابقة والاستبدال
تحتوي الاستجابة على redacted_text وredacted_count، وبذلك يمكنكم استخدام النص المنقى والتحقق بصورة مستقلة من مقدار التغيير.
استخدموا الناتج بأمان في مسار المستندات
يستخرج مسار مؤتمت عملي النص، ويرسله مع قائمة عبارات معتمدة، ويقارن redacted_count بحد أدنى متوقع، ثم يحفظ redacted_text وحده في أنظمة البحث أو المراجعة اللاحقة. يبلغ سعر طلب API الواحد $0.002.
أسئلة تقنية
ماذا يحدث إذا لم يعثر على أي عبارة؟
يعاد النص الأصلي دون تغيير، وتكون قيمة redacted_count صفرا.
ماذا يحدث إذا كانت قائمة العبارات فارغة؟
يفشل الطلب بخطأ invalid_input لأن إدخال عبارة واحدة غير فارغة على الأقل مطلوب.