عربی PDFs کے ساتھ کام کرنا
آپ ایک عربی معاہدہ کھولتے ہیں، ایک پیراگراف منتخب کرتے ہیں، اسے کاپی کرتے ہیں، اور اسے ای میل میں پیسٹ کرتے ہیں۔ جو چیز وہاں پہنچتی ہے وہ حروف کی بے ترتیب قطار ہوتی ہے — یا صحیح حروف غلط ترتیب میں ہوتے ہیں، یا حروف کا ایسا مجموعہ ہوتا ہے جو تقریباً درست لگتا ہے مگر نہیں ہوتا۔ PDF بالکل ٹھیک نظر آتی ہے۔ لیکن جیسے ہی آپ اس ٹیکسٹ کو نکالنے کی کوشش کرتے ہیں، یہ بکھر جاتا ہے۔ مسئلہ آپ کے سافٹ ویئر میں خرابی کا نہیں ہے۔ یہ ایک واقعی مشکل مسئلے کی عکاسی ہے۔
عربی، لاطینی رسم الخط سے زیادہ مشکل کیوں ہے
انگریزی کو ٹیکسٹ سسٹم سے بہت کم مانگ ہوتی ہے: حروف ایک قطار میں، بائیں سے دائیں، ترتیب میں ہوتے ہیں، اور ہر جگہ ان کی شکل یکساں رہتی ہے۔ عربی بہت کچھ مانگتا ہے، اور ان تمام خصوصیات میں سے ہر ایک وہ مقام ہے جہاں ٹولز غلطی کرتے ہیں:
- یہ فطری طور پر خطاطی (cursive) ہوتا ہے۔ حروف آپس میں جڑتے ہیں۔ یہ صرف سجاوٹ نہیں — بلکہ اس رسم الخط کا طریقہ کار ہے۔
- حروف اپنی جگہ کے لحاظ سے شکل بدلتے ہیں۔ ایک ہی حرف کی چار مختلف اشکال ہو سکتی ہیں: اکیلا کھڑا، لفظ کے شروع میں، درمیان میں، اور آخر میں۔ ایک جیسا حرف، ایک جیسا مطلب، مگر چار مختلف تصاویر۔
- یہ دائیں سے بائیں چلتا ہے — لیکن ہر چیز ایسا نہیں کرتی۔ اعداد اور اندر موجود لاطینی الفاظ دائیں سے بائیں ٹیکسٹ کے اندر بائیں سے دائیں چلتے ہیں۔
- دیاکریٹکس اختیاری اور معنی خیز ہوتے ہیں۔ مختصر حرف نشانات موجود ہو سکتے ہیں یا غیر موجود، اور وہ پڑھنے کے انداز کو بدلتے ہیں۔
لہٰذا عربی کو صحیح طریقے سے دکھانے کے لیے رینڈر کرنے والے (renderer) کو پڑوسی حروف کی بنیاد پر ہر حرف کے لیے مناسب شکل کا انتخاب کرنا ہوتا ہے، اور پھر مختلف سمتوں کے چلنے والے حصوں (mixed-direction runs) کو ہم آہنگی سے ترتیب دینا ہوتا ہے۔ دونوں مراحل ہی وہ جگہ ہیں جہاں مسئلہ پیدا ہوتا ہے۔
شیپنگ، اور یہ کہ کاپی-پیسٹ کیوں خراب ہوتا ہے
یہ طریقہ کار یہاں بتایا گیا ہے، کیونکہ اسے جاننے سے ہر علامت (symptom) کی وضاحت ہو جائے گی جو آپ کو ملے گی۔
ٹیکسٹ منطقی ترتیب میں محفوظ ہوتا ہے — وہ ترتیب جس طرح آپ اسے بولتے ہیں۔ دکھانے سے پہلے، سافٹ ویئر شیپنگ (shaping) لاگو کرتا ہے: ہر حرف کے لیے صحیح پوزیشن کی شکل کا انتخاب کرنا، اور bidi (دو طرفہ سمت کا الگورتھم)، جو یہ طے کرتا ہے کہ دائیں سے بائیں اور بائیں سے دائیں چلنے والے حصے لائن پر کیسے ملتے ہیں۔
تاہم، ایک PDF آپ کے جملے کو محفوظ نہیں کرتی۔ یہ گلیفز (glyphs) محفوظ کرتی ہے — جو کسی فونٹ میں انڈیکس ہوتے ہیں — پلس پوزیشنز۔ شیپنگ پہلے ہی ہو چکی ہوتی ہے اور اس میں شامل کر دی جاتی ہے۔ ٹیکسٹ واپس کاپی کرنے کے لیے، ریڈر کو گلیف سے کردار تک ایک نقشے کی ضرورت ہوتی ہے، جسے فائل ToUnicode ٹیبل کے طور پر شامل کر سکتی ہے۔ اور یہی اصل مسئلہ ہے:
- کوئی نقشہ نہیں، کوئی ٹیکسٹ نہیں۔ اگر جنریٹر نے اسے شامل نہیں کیا تھا، تو نکالنے سے حروف کی بجائے گلیف نمبرز ملیں گے۔ آپ کو کچرا ملے گا جو ٹھیک طرح رینڈر ہوتا ہے اور کسی چیز کا مطلب نہیں رکھتا۔
- غلط چیز کی طرف نقشہ بندی۔ کچھ جنریٹرز گلیفز کو پیشکش فارمز (presentation forms) میں نقشہ کرتے ہیں — جو ایک پرانا یونیکوڈ بلاک ہے اور ہر پہلے سے بنائے گئے واریئنٹ کو الگ سے رکھتا ہے۔ اس طرح نکالا گیا متن سکرین پر درست لگتا ہے لیکن یہ عام عربی نہیں ہے: سرچ اسے میچ نہیں کرے گی، اور دیگر سافٹ ویئر اسے صحیح طریقے سے ہینڈل نہیں کریں گے۔
- ترتیب کھو گئی۔ اگر فائل گلیفز کو دیکھنے کے ترتیب میں محفوظ کرتی ہے بغیر اس معلومات کے کہ اسے الٹ کیسے کیا جائے، تو آپ کو پڑھنے کے ترتیب کی بجائے ڈرائنگ کے ترتیب میں حروف ملیں گے — یہ کلاسک "پیچھے کی طرف" پیسٹ ہے۔
- جوائنٹس ٹوٹ گئے۔ نکالنا جو الگ کیے گئے حروف کو ان کے کنکشنز کے بغیر بحال کرتا ہے، وہ disconnected کریکٹرز کی ایک قطار پیدا کرتا ہے، جن میں ہر ایک انفرادی طور پر درست ہوتا ہے۔
یہ نوٹ کریں کہ اس کا کیا مطلب ہے: کہ عربی PDF سے صحیح طریقے سے کاپی ہوتی یا نہیں یہ اس چیز پر منحصر تھا جس نے فائل بنائی تھی، جو اکثر سالوں پہلے ہوا تھا۔ کوئی بھی ریڈر وہ معلومات مکمل طور پر بحال نہیں کر سکتا جو جنریٹر نے پھینک دی تھیں۔
وہ کیا کر سکتے ہیں ایک ایسی فائل کے ساتھ جو اپنا متن ظاہر نہیں کرتی
- پہلے نکالنے کی کوشش کریں۔ اگر دستاویز کسی قابلِ اعتماد جنریٹر نے بنائی ہے، تو متن موجود ہوتا ہے اور صاف طریقے سے کاپی ہو جاتا ہے۔ کسی بھی بھاری کام سے پہلے تیس سیکنڈ ہمیشہ کارآمد ہوتے ہیں۔
- ایک مختلف ریڈر استعمال کریں۔ ریڈرز اس بات میں مختلف ہیں کہ وہ شیپنگ کو کتنی اچھی طرح الٹ کرتے ہیں اور bidi کو کیسے ہینڈل کرتے ہیں۔ ایک فائل جو کسی سے خراب طریقے سے پیسٹ ہوتی ہے، وہ دوسرے سے صحیح طریقے سے پیسٹ ہو سکتی ہے۔
- اگر یہ scan ہے، تو یہ کبھی متن نہیں تھا۔ تب کوئی بھی مقدار میں کاپی کرنے سے کام نہیں کرے گا، اور OCR واحد راستہ ہے — نیچے دیکھیں۔
- اگر نکالنے سے پریزنٹیشن فارمز ملیں، تو آپ کے پاس متن ہوگا، لیکن عجیب و غریب قسم کا۔ اسے عام عربی کے ساتھ قابلِ تلاش بنانے سے پہلے نارملائز کرنے کی ضرورت پڑ سکتی ہے۔
عربی OCR: زیادہ مشکل، اور اس بارے میں ایماندار
جب دستاویز ایک سکین ہوتی ہے، تو پہچان (recognition) ہی واحد راستہ ہے — اور یہ عربی کے لیے انگریزی کی نسبت نمایاں طور پر زیادہ مشکل ہے۔ اوپر کا ہر فیچر انجن کے خلاف کام کرتا ہے: حروف جڑتے ہیں، لہٰذا حروف کے درمیان کاٹنے کے لیے کوئی صاف وقفہ نہیں ہوتا؛ شکلیں جگہ کے لحاظ سے مختلف ہوتی ہیں، جس سے پہچانے جانے والے مواد میں اضافہ ہو جاتا ہے؛ نقطے اوپر اور نیچے غیر ملکی حروف کو ممتاز کرتے ہیں، لہٰذا scanر کی معمولی سی گڑبڑ بھی لفظ بدل سکتی ہے؛ علامات (diacritics) موجود بھی ہو سکتے ہیں یا نہیں بھی۔
عملی نتائج واضح طور پر بیان کرنے کے قابل ہیں۔:
- سکین کی کوالٹی معمول سے زیادہ اہمیت رکھتی ہے۔ 300 dpi، ہائی کنٹراسٹ، سیدھا۔ عربی کے ساتھ، ایک اوسط سکین آسانی سے خراب نہیں ہوتا۔
- عربی ماڈل استعمال کریں۔ OCR Arabic — عربی متن پر انگریزی ماڈل کچھ بھی مفید پیدا نہیں کرتا۔
- درست کرنا (proofread) توقع رکھیں۔ مشین سے چھپا ہوا صاف عربی اچھا نتیجہ دیتا ہے۔ اچھا مطلب کامل نہیں ہوتا، اور غلطیاں عام طور پر ایک نقطے کے فرق کی ہوتی ہیں جو معنی بدلتی ہیں نہ کہ واضح بکواس۔
- ہاتھ سے لکھنا ممکن نہیں۔ کسی بھی زبان میں یہ سپورٹڈ استعمال کا کیس نہیں ہے، اور خاص طور پر عربی خطاطی کے لیے ایسا ہی ہے۔
OCR آپ کے اپنے ڈیوائس پر چلتا ہے اور یہ CyvoDocOps Pro کا حصہ ہے؛ چونکہ Pro کی خریداری App Store یا Google Play سے ہوتی ہے نہ کہ ویب سے، اس لیے OCR ٹولز موبائل ایپ میں موجود ہیں۔ یہ جاننے کے لیے کہ ریکگنیشن کیسے کام کرتی ہے، براہ کرم scan شدہ PDF کو سرچ ایبل بنانا دیکھیں
RTL دستاویزات میں سٹیمپ اور اینوٹیشنز
عربی کاروباری دستاویزات مغربی دستاویزات کے مقابلے میں سٹیمپوں اور مہروں پر بہت زیادہ انحصار کرتی ہیں — جیسے کہ منظوری، رسیدیں، سرکاری تصدیق۔ انہیں PDF میں شامل کرنے سے اپنی مشکلات ہوتی ہیں: سٹیمپ کے اندر موجود متن کو صحیح شیپنگ کی ضرورت ہوتی ہے، اور جگہ کا تعین روانی کی سمت (reading direction) پر منحصر ہوتا ہے، لہٰذا ایک سٹیمپ جو بائیں سے دائیں صفحے پر قدرتی نظر آتی ہے وہ دائیں سے بائیں والے صفحے پر عجیب لگ سکتی ہے۔
عربی سٹیمپ اس شیپنگ کو سنبھالتا ہے تاکہ متن الگ حروف کی لائن کے بجائے جڑے ہوئے عربی کے طور پر ظاہر ہو — یہ وہ ناکامی کا طریقہ ہے جو آپ کو ان ٹولز سے ملتا ہے جو عربی کو لاطینی زبان سمجھ کر مختلف حروف مانتے ہیں۔ تاریخ سٹیمپ اور ابتدائیہ (initials) جیسے متعلقہ ٹولز بھی اسی نمونے پر عمل کرتے ہیں۔
عربی دستاویزات کے لیے عملی عادات
- اصل ذریعہ کو محفوظ رکھیں۔ وہ اصل فائل جو اسے بنانے والے سافٹ ویئر سے ملی ہے، ہمیشہ کسی بھی چیز سے بہتر متن دے گی جو بعد میں نکالی جائے۔
- کامیٹ کرنے سے پہلے نکالنے کا تجربہ کریں۔ اگر کوئی ورک فلو عربی PDF کو سرچ کرنے پر منحصر ہے، تو اس بات کی جانچ کریں کہ کیا وہ متن دراصل ایک نمونے میں بنائے بغیر نکلتا ہے۔
- scanز کے بجائے حقیقی متن کو ترجیح دیں۔ ایک پیدائشی-ڈیجیٹل عربی PDF ہر وقت scan سے بہتر ہوتی ہے۔ صرف اس وقت scan کریں جب کاغذ ہی واحد ذریعہ ہو۔
- مخلوط مواد (Mixed content). وہ دستاویزات جو عربی زبان کے ساتھ انگریزی اصطلاحات، انوائس نمبرز اور تاریخوں کو ملا کر بنتی ہیں، وہاں bidi مسائل زیادہ ہوتے ہیں۔ خاص طور پر ان لائنوں کی جانچ کریں۔
- ظاہری شکل سے نہ فیصلہ کریں (Don't judge by appearance). ایک فائل جو خوبصورت نظر آتی ہے وہ پھر بھی scan ہو سکتی ہے، یا اس میں استعمال کے قابل ٹیکسٹ لیئر موجود نہ ہو۔ کوئی لفظ منتخب کرنے کی کوشش کریں — اگر کچھ ہائی لائٹ نہیں ہوتا تو یہ صرف تصویر ہے۔
یہاں مقامی پروسیسنگ کیوں اہم ہے
عربی زبان کے وہ دستاویزات جنہیں اس طرح کی کارروائی کی ضرورت ہوتی ہے، عام طور پر سرکاری نوعیت کے ہوتے ہیں: معاہدے، حکومتی کاغذات، تجارتی رجسٹریشن، شناختی دستاویزات، نوٹری شدہ ریکارڈز۔ یہ بالکل وہ زمرہ ہے جہاں کسی تھرڈ پارٹی سروس پر upload کرنا کم مناسب ہوتا ہے — اور جہاں "ہم ایک گھنٹے بعد ڈیلیٹ کر دیتے ہیں" ایسا وعدہ ہے جسے آپ آڈیٹ نہیں کر سکتے۔ CyvoDocOps میں، سپورٹ شدہ آپریشنز مقامی طور پر آپ کے browser میں چلتے ہیں، اور موبائل ایپ میں on-device OCR scanز کو کہیں بھی بھیجے بغیر پروسیس کرتا ہے۔ مزید جاننے کے لیے عربی PDF ٹولز دیکھیں۔
اکثر پوچھے گئے سوالات (FAQ)
میں اسے PDF سے کاپی کرتے وقت عربی ٹیکسٹ کٹا ہوا کیوں آتا ہے؟
کیونکہ PDF میں پہلے سے بنائے ہوئے گلیفز (pre-shaped glyphs) محفوظ ہوتے ہیں اور اصل حروف تک واپس جانے والا نقشہ یا تو غائب ہوتا ہے یا غلط۔ پیج صحیح طریقے سے بنتا ہے؛ لیکن اصل ٹیکسٹ کو دوبارہ بنانے کے لیے ضروری معلومات فائل بناتے وقت ضائع کر دی گئی تھیں۔
جب میں اسے پیسٹ کرتا ہوں تو متن الٹا کیوں ہوتا ہے؟
فائل نے گلیفز کو ڈرائنگ کے ترتیب (drawing order) میں محفوظ کیا ہے، اور پڑھنے کا صحیح ترتیب معلوم کرنے کے لیے کافی معلومات موجود نہیں ہیں۔ کچھ ریڈرز اسے درست طریقے سے الٹا کر دیتے ہیں اور کچھ نہیں۔ ایک مختلف ریڈر استعمال کرنا واقعی حل ہے۔
کیا عربی OCR انگریزی جتنا درست ہوتا ہے؟
نہیں، اور جو کوئی بھی اس کے برعکس دعویٰ کرتا ہے وہ زیادہ باتیں کر رہا ہے۔ جڑے ہوئے حروف (connected letters)، پوزیشن پر منحصر شکلیں (position-dependent shapes) اور معنی رکھنے والے نقطے سب اسے مشکل بنا دیتے ہیں۔ صاف چھپائے گئے سکین شدہ کاغذات اچھے نتائج دیتے ہیں جنہیں پھر بھی پروف ریڈنگ کی ضرورت ہوتی ہے۔
کیا میں ایک عربی سکین شدہ PDF میں سرچ کر سکتا ہوں؟
یہ تب تک نہیں جب تک اس میں ٹیکسٹ لیئر نہ ہو۔ اسے شامل کرنے کے لیے OCR چلائیں۔ — تاہم، یہ نوٹ کریں کہ کسی OCR کیے گئے دستاویز میں منفی تلاش کا نتیجہ (negative search result) اس بات کا ثبوت نہیں ہے کہ وہ لفظ موجود ہی نہیں۔
کیا میرے عربی دستاویزات upload ہو گئے ہیں؟
نہیں۔ سپورٹ شدہ ویب آپریشنز آپ کے browser میں مقامی طور پر (locally) چلتے ہیں، اور موبائل ایپ میں OCR آپ کے ڈیوائس پر چلتا ہے۔ دستاویز کو سرور بھیجا نہیں جاتا۔