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

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

powershell -ExecutionPolicy Bypass -File serve.ps1

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

الماسح الضوئي للمستندات — صورة صفحة، مُعدَّلة

صوِّر الصفحة. واسترجع شيئاً يبدو ممسوحاً ضوئياً.

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

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

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

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

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

1 اختر الصور

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

2 ضَع الأركان على الصفحة

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

اختر صورة فتظهر هنا، وأركانها الأربعة موجودة لك.

3 نظِّفها

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

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

تدرّج رمادي التسوية نفسها، بلا لون. أصغر من الملوَّنة وأرفق بصورة فوتوغرافية أو بتوقيع مما هو الأبيض والأسود.

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

اتركها وشأنها معدَّلةً ولا شيء غير ذلك. لصفحة يهمّ فيها الورق نفسه — شيء قديم، أو شيء ملوَّن، أو صورة فوتوغرافية.

تظهر الصفحة المعدَّلة هنا متى وُجِدت صورة تُعدَّل.

4 احفظ المستند

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

دقة الطباعة كم تُسمّى ورقةً كبيرةً لعدد بكسلات معيّن. وهي تغيّر المقاس الذي يُطبَع به المستند، ولا تغيّر بكسلاً واحداً من المسح.

الضلع الأكبر سقفٌ للصفحة المعدَّلة. فصورةُ صفحة تحمل من البكسلات أكثر بكثير مما تساويه الصفحة، و2400 على الضلع الطويل نحو 200 DPI على ورقة A4.

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

عنوان المستند (اختياري) الشيء الوحيد الذي يُكتَب في المستند عدا الصفحات. فلا تاريخ، ولا مؤلف، ولا شيء عن هذا الجهاز — انظر src/document.js.

82%

عرض بصيغة Markdown

كيف تمسح مستنداً بكاميرا هاتفك

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

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

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

أسئلة

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

لا. الصورة يُفكّ ترميزها وتُعدَّل وتُنظَّف وتُكتَب في ملف PDF بمتصفحك أنت على جهازك أنت. لا تملك هذه الأداة أي وظيفة شبكية على الإطلاق — فهي لا تجلب شيئاً ولا ترسل شيئاً — و Content-Security-Policy الخاصة بالصفحة تُسمّي كل عنوان يجوز لها الاتصال به، وليس واحد منها لنا. حمِّل الصفحة مرة، واقطع اتصالك بالإنترنت، وستظل تعمل.

كيف يجد أركان الصفحة دون نموذج؟

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

الأركان التي وجدها خطأ. فماذا الآن؟

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

لماذا تخرج الصفحة المعدَّلة بالنسبة الصحيحة، لا مضغوطة؟

لأن النسبة تُستعاد من المنظور لا تُقاس من الحوافّ. فالصفحة المصوَّرة بميل يكون ضلعها البعيد مختصَراً، فالطريقة البديهية — خذ أطول زوج من الأضلاع المتقابلة وسمِّ ذلك النسبة — تنتج ورقة A4 قصيرة ظاهرةً للعين، وهو ما تعطيك إياه أكثر الماسحات على الويب. والحقيقة أن صورة المستطيل تحمل ما يكفي من المعلومات لاستعادة نسبة المستطيل وبُعد الكاميرا البؤري معاً، ما دامت الكاميرا عادية؛ وتلك نتيجةٌ لـ Zhang وHe من 2003، وهي ما يفعله src/geometry.js. وحيث تكون الصورة مواجِهة فلا منظور يُعمَل منه ولا حاجة إليه، لأن الحوافّ تكون حينئذ دقيقة — فيتراجع إليها، وتقول الصفحة أيُّ الاثنين أجاب.

ماذا يفعل «التنظيف» بالصورة بالضبط؟

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

لماذا وضع الأبيض والأسود أصغر بهذا القدر؟

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

هل أستطيع وضع عدة صفحات في ملف PDF واحد؟

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

هل يقرأ النصّ، فأستطيع البحث في ملف PDF؟

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

خرجت ضبابية. لماذا؟

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

هل هو مجاني، وهل أحتاج إلى حساب؟

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