شيفرة هذه الصفحة لم تبدأ العمل.

فتح index.html مباشرة من مجلد يمنع المتصفح من تحميل وحدات JavaScript، فلا يحدث شيء عند اختيار ملف PDF. قدّم المجلد عبر HTTP بدلا من ذلك:

powershell -ExecutionPolicy Bypass -File serve.ps1

ثم افتح http://localhost:8080/.

طمس PDF — الكلمات تخرج، لا صندوق فوقها

تُحذَف الحروف من الملف، ثم يُبحَث في الملف بعدها برهاناً على ذلك.

اللغة: العربية
عرض الشيفرة المصدرية
مستنداتك لا تُرفع أبدا. لا يوجد خادم.

المستند الذي تختاره يُفتَح ويُقرأ ويُحرَّر ويُعاد كتابته في الذاكرة على هذا الجهاز، بشيفرة تُخدَم من هذا العنوان. ولا يستطيع شيء هنا أن يرفع شيئاً، ولا يقف في الطرف الآخر من هذه الصفحة خادم يستقبل رفعاً. ولا يغادر التبويبَ الملفُّ ولا الكلماتُ التي بحثت عنها.

فحص حي: جارٍ الفحص…

دون اتصال: جارٍ الفحص…

لا داعي لأن تصدّقنا: افتح أدوات المطوّر، وراقب تبويب «الشبكة»، ثم اطمس شيئاً. لن يحمل أي طلب صفحةً ولا كلمةً ولا اسم ملف. أو اقطع الاتصال بالإنترنت واطمسه رغم ذلك.

1 اختر ملف PDF

2 قل ما الذي يجب أن يزول

اكتب الكلمات — اسماً، أو عنواناً، أو مرجعاً — فيُسرَد أدناه كل موضع تظهر فيه ومعه السطر الذي تجلس عليه. ولا يُزال شيء حتى الخطوة 4، ولا يُزال شيء لم تؤشّر عليه.

هذه أنماط، والنمط لا يستطيع تمييز رقم هاتف من رقم مرجع. وأرقام البطاقات وأرقام IBAN تُفحَص في مقابل أرقام تحقّقها هي؛ أما البقية فتُعرَض ولا يُؤشَّر عليها نيابةً عنك، وهي جديرة بأن تُقرأ واحدة واحدة.

أو ابحث عن الأشياء الحسّاسة عادةً

3 اقرأ الصفحة، والتقط الكلمات منها

هذا هو النصّ كما هو مخزَّن في المستند، بالترتيب الذي كان قارئ سينسخه به — وهو ليس دائماً الترتيب الذي طُبِع به. انقر أي كلمة لإخراجها، وانقرها ثانيةً لإبقائها. وكل ما هو مشطوب هنا هو ما سيزول.

4 أخرِج الكلمات

ارسم صندوقاً أسود مكان كل واحدة كي يرى القارئ أن شيئاً أُزيل. والصندوق زينةٌ هنا لا هو الطمس: فالحروف تكون قد زالت من الملف قبل رسمه. أطفئه فتختفي الكلمات ببساطة، تاركةً المساحة التي كانت تشغلها.

أخرِج الكلمات نفسها من بقية المستند الإشارات المرجعية، والتعليقات، والملاحظات اللاصقة، وما كُتِب في حقول الاستمارات. فالكلمة التي أُزيلت من صفحة وتُرِكت في إشارة مرجعية لم تُزَل. وخصائصُ المستند تذهب مهما قال هذا، وكذلك النصُّ البديل الذي ينسخه القارئ بدل الحروف التي على الصفحة — وكلاهما المستندُ يقول الكلمة، لا موضعٌ آخر يحتفظ بنسخة منها.

أسقِط المرفقات وكل ما يعمل ملف PDF يستطيع حمل ملفات كاملة في جوفه وJavaScript يعمل عند فتحه. ولا يمكن البحث في أيٍّ منهما عن الكلمات التي تزيلها، ولا واحد منهما لازم لقراءة مستند.

عرض بصيغة Markdown

كيف تطمس ملف PDF فتزول الكلمات حقاً

  1. اختر ملف PDF. مستند واحد في كل مرة، عن قصد: فالطمس عملٌ لا بدّ من النظر فيه صفحةً صفحة، والأداة التي تدعك تؤشّر على كلمات في ملف ثم تطبّقها في صمت على آخر هي بالضبط الطريق الذي يُرسَل به الشيء الخطأ. ويقرؤه المتصفح من قرصك مباشرة.
  2. قل ما الذي يجب أن يزول. اكتب الكلمات — اسماً، أو عنواناً، أو مرجعاً — فيُسرَد كل موضع تظهر فيه ومعه السطر الذي تجلس عليه ومربعُ تأشير. والباحثات التي بجانب المربع ستبحث عن عناوين البريد وأرقام البطاقات وأرقام IBAN وأرقام الضمان الاجتماعي والتأمين الوطني وأرقام الهواتف. وتُعرَض هذه ولا يُؤشَّر عليها نيابةً عنك أبداً: فالنمط لا يستطيع تمييز رقم هاتف من رقم مرجع.
  3. اقرأ الصفحة والتقط الكلمات منها. تعرض اللوحة نصّ المستند كما هو مخزَّن فعلاً، بالترتيب الذي كان قارئ سينسخه به. انقر أي كلمة لإخراجها وانقرها ثانيةً لإبقائها. وكل ما هو مشطوب هو ما سيزول — وهذا ما يجعل هذه المراجعةَ والاختيارَ معاً، وهي جديرة بأن تُفعَل على كل صفحة قبل أن تضغط الزر.
  4. أخرِجها، واقرأ السطر الذي يقول إنه فُحِص. تُحذَف الحروف، وتُترَك الفجوة التي خلّفتها مفتوحة، ويُرسَم صندوق أسود فوقها إن طلبته، وتُخرَج الكلماتُ نفسها من الإشارات المرجعية والتعليقات وحقول الاستمارات وخصائص المستند. ثم يُفتَح الملف المنتهي من جديد هنا ويُبحَث فيه. فإن كانت كلمةٌ أزلتها ما زالت تُوجَد فيه، فلا تنزيل لك ورسالةٌ تقول ذلك.

النسخة الأطول

كيف تطمس ملف PDF بحيث يزول النصّ فعلاً المربّعُ الأسود المرسوم في قارئ PDF يترك الكلمات تحته عادةً، والنسخُ واللصقُ يعيدانها فوراً. ما الذي يحذفه الطمسُ الحقيقي، والمواضعُ الأربعة التي تختبئ فيها كلمةٌ خارج الصفحة، وكيف تفحص ملفاً قبل أن ترسله.

أسئلة

بمَ يختلف هذا عن رسم صندوق أسود في قارئ PDF؟

المستطيل المرسوم في قارئ تعليقٌ: كائنٌ له موضع، محفوظ بجانب الصفحة. والنصّ الذي تحته لم يُمَسّ. فمن حدّد تلك المساحة وضغط «نسخ»، أو فتح الملف ببرنامج آخر، أو مرّر عليه أي مستخرِج نصّ، استعاد الكلمات. وبعض القارئات تعرض أمر «طمس» يطبّق الإزالة كما ينبغي — وعدةٌ منها لا تعرض إلا الرسم. وهذه الأداة لا مستطيل لها يُزاح: فالحروف مقتطَعة من تعليمات رسم الصفحة، والصندوق الأسود، إن تركته مفعَّلاً، يُرسَم بعد ذلك فوق فجوة فارغة أصلاً.

كيف أعرف أن الكلمات زالت حقاً؟

لأن الأداة تفحص، على جهازك، وتريك العدد. فمتى كُتِب الملف فُتِح من جديد بالقارئ نفسه الذي على هذه الصفحة، وقُرِئت كل صفحة، وجُمِعت كل إشارة مرجعية وتعليق وحقل استمارة وخاصية، وبُحِث عن كل كلمة أزلتها. ويقول سطر النتائج كم كانت وكم بقي. فإن لم يكن الجواب ما ينبغي، فشلت الجولة ولم يُعرَض شيء للتنزيل. وتستطيع أنت أيضاً فحصه بعد ذلك في أي قارئ: اضغط Ctrl+F وابحث عن الكلمة.

هل تتحرّك بقية الصفحة حين تُزال كلمة؟

لا. فالنصّ يُرسَم بتقديم قلم عبر الصفحة، فحذفُ خمسة حروف كان سيجرّ بقية السطر خمسة حروف إلى اليسار عادةً. ويُقاس عرضُ ما أُزيل بالضبط من مقاييس الخطّ نفسه ويُعاد على هيئة تعليمة تباعد، وهي تحرّك القلم دون أن ترسم شيئاً. فتبقى الأعمدة محاذية وتبقى المجاميع تحت عناوينها.

هل يستطيع طمس مستند ممسوح ضوئياً؟

لا الصورةَ، ويقول ذلك بدل أن يتظاهر. فالمسح صورةٌ فوتوغرافية لصفحة: الكلمات فيه بكسلات ولا نصّ ليُزال. والذي يحمله المسح كثيراً هو طبقة نصّ غير مرئية كتبها التعرّف الضوئي على الحروف في الماسحة فوق الصورة كي يمكن البحث في الصفحة — وهذه الأداة تجد تلك الطبقة، وتزيل منها ما تختاره، وتخبرك على الصفحة أن الصورة لم تتغيّر. فيكفّ البحث والنسخ عن إيجاد الكلمة، ويظل من ينظر إلى الصفحة يقرؤها. أما للصورة، فـ طمس الصور يطمس البكسلات نفسها.

وماذا عن أجزاء المستند التي ليست على صفحة؟

تُعالَج، لأنها الموضع الذي يتسرّب منه الطمس عادةً. فتُخرَج الكلمات نفسها من الإشارات المرجعية والتعليقات والملاحظات اللاصقة، ومما كُتِب في حقول الاستمارات، ومن النصّ الذي يُعطى لقارئ الشاشة، ومن النصّ البديل الذي ينسخه القارئ بدلاً من الحروف التي على الصفحة — وذلك الأخير موجود كي تُنسَخ الحروف المتشابكة والكلمات المفصولة بشرطة كما ينبغي، وهو قد يحمل جملة كاملة. أما خصائص المستند وحزمة XMP فتُزالان صراحةً. وتُسقَط المرفقات وكل ما يعمل عند فتح الملف، لأنه لا يمكن البحث في أيٍّ منهما عن الكلمات التي تزيلها.

هل تُرفع مستنداتي إلى أي مكان؟

لا. يقرأ متصفحك أنت الملف ويحرّره ويكتبه على جهازك أنت. ولا جانب خادمَ لهذه الأداة، وContent-Security-Policy الخاصة بالصفحة تُسمّي كل عنوان يجوز لها الاتصال به — وليس واحد منها لنا. وما تكتبه في حقل البحث يُقارَن بنصٍّ في ذاكرة هذا التبويب ولا يذهب إلى أي مكان هو الآخر.

لماذا لا أستطيع سحب صندوق فوق الصفحة كما في الأدوات الأخرى؟

لأن رسم صفحة يعني عارض PDF كاملاً — خطوطاً وتظليلاً وشفافية وأنماط مزج — وهو ميغابايت أو أكثر من المحرّك يُجلَب ويُشغَّل، وهذا الموقع لا يشحن شيئاً منه. وقد تبيّن أن ذلك يناسب العمل: فسحبُ مستطيل يحدّد مساحةً من الورق، ومساحةُ الورق ليست الشيء نفسه الذي هو النصّ تحتها، وهكذا يبدأ إخفاقُ الصندوق الأسود. والذي تحصل عليه بدلاً منه نصُّ المستند، بترتيب القراءة، وكل كلمة فيه قابلة للنقر. وهو أيضاً العرض الوحيد الذي يستطيع أن يقول لك ما لا تستطيع صورةُ الصفحة قوله: هل الكلمات التي أمامك نصٌّ أصلاً.

هل سيُفتَح الملف المنتهي في كل مكان؟

نعم. يُكتَب الخَرج بصيغة PDF 1.5 أو بأعلى إصدار احتاجه الملف الذي أعطيته إياه، و1.5 يفهمه كل قارئ شُحِن منذ 2003. ولا شيء على الصفحة يُعاد ترميزه: فالخطوط والصور والرسم المتجهي تأتي بايتاً بايتاً، فيبقى ما بقي من النصّ قابلاً للتحديد والبحث كما كان تماماً.

هل يستطيع فتح ملف PDF محميّ بكلمة مرور؟

لا، وذلك مقصود. فالمستند المشفَّر يُرفَض برسالة تقول ذلك، حتى حين تكون كلمة المرور فارغة — وهو ما تحفظ به كثير من الماسحات والناسخات. فنزعُ الحماية عن ملف عملٌ آخر غير إخراج كلمات منه، والأداة التي تفعله في صمت تكون قد فعلت ما لم تطلبه.

هل ثمّة حدّ للحجم، وهل يكلّف شيئاً؟

لا حدّ مكتوباً في الأداة. والحدّ جهازك أنت: فالمستند يُحفَظ في الذاكرة أثناء العمل عليه، فحاسوب محمول سيأخذ بضع مئات من الميغابايتات دون شكوى وسيتعثّر في مكان ما فوق ذلك. وهو مجاني، ولا حساب ولا تسجيل دخول ولا فترة تجريبية. ويحمل الموقع إعلانات، وهي ما يدفع تكاليفه؛ ولا يُعطى المعلنون شيئاً عن مستنداتك.

هل يعمل دون اتصال؟

نعم. حمِّل الصفحة مرة، ثم اقطع اتصالك بالإنترنت وستظل تعمل. وهذه أيضاً أبسط طريقة لإثبات أنه لا يُرفع شيء: فأداةٌ ترسل مستندك بعيداً ليُطمَس كانت ستتوقف في اللحظة التي تقطع فيها الاتصال.