pypdf স্ক্যান করা নথি থেকে পাঠ্য বের করতে পারে না। এটি পরামিতি পরিবর্তন করে সমাধান করা যাবে না।
সংক্ষিপ্ত বা খালি পাঠ্যটি কেবলমাত্র আরও পরিদর্শনের জন্য একটি সংকেত এবং সরাসরি স্ক্যানের সমতুল্য নয়। টেক্সট এক্সট্রাক্ট করা হয়েছে কিনা তা নিচের পৃষ্ঠায় পৃষ্ঠা রেকর্ড করে; ফাঁকা পৃষ্ঠা, চিত্র পৃষ্ঠা এবং অস্বাভাবিক এনকোডিং পৃষ্ঠাগুলির জন্য পরবর্তী বিচারের প্রয়োজন হয়৷ pypdf পাঠ্য নিষ্কাশন OCR নয়।
যখন pypdf টেক্সট বের করতে পারে না, তখন সমস্যাটি সাধারণত প্যারামিটারের সাথে হয় না। এটি PDF এ টেক্সট অবজেক্ট পড়ে। যদি পৃষ্ঠাটি মূলত একটি চিত্র হয়, তাহলে পরামিতিগুলি সামঞ্জস্য করা অক্ষরগুলি পড়তে পারে না যা বিদ্যমান নেই৷ এই নিবন্ধটি এমন ডেভেলপার এবং নথি কর্মীদের জন্য লেখা হয়েছে যাদের পিডিএফগুলিকে ব্যাচে এবং এনকাউন্টারে প্রক্রিয়া করতে হবে "শব্দ আছে কিন্তু নিষ্কাশন খালি"। পড়ার পরে, আপনি পাঠ্য স্তরটি বিদ্যমান কিনা এবং এটি বৈধ কিনা তা নির্ধারণ করতে পৃষ্ঠা অনুসারে প্রোগ্রামটি ব্যবহার করতে পারেন এবং এটি সরাসরি ব্যবহার করতে, OCR লিখতে বা ম্যানুয়াল পর্যালোচনাতে স্থানান্তর করার সিদ্ধান্ত নিতে পারেন।
নীচের উদাহরণগুলি সমস্ত সিন্থেটিক নমুনা ব্যবহার করে প্রদর্শিত হয়। কোডটি একটি বিচ্ছিন্ন পরিবেশে নমুনা পরীক্ষা করা হয়েছে, তবে এটি সমস্ত বাস্তব ফাইল বা পণ্যের কার্যকারিতার গ্যারান্টি নয়। গুরুত্বপূর্ণ নথিগুলি প্রক্রিয়া করার আগে, দয়া করে মূলগুলি রাখুন এবং পাঠ্যের সীমানা এবং গ্রহণযোগ্য আইটেমগুলি অনুসারে সেগুলি পর্যালোচনা করুন৷
pypdf থেকে লেখা বের করা যায় না? এক বাক্যে উপসংহার
সংক্ষিপ্ত বা খালি পাঠ্যটি কেবলমাত্র আরও পরিদর্শনের জন্য একটি সংকেত এবং সরাসরি স্ক্যানের সমতুল্য নয়। pypdf এর পাঠ্য নিষ্কাশন OCR নয়। পরবর্তী প্রক্রিয়াকরণ পদ্ধতির বিষয়ে সিদ্ধান্ত নেওয়ার আগে আপনাকে পৃষ্ঠা অনুসারে পাঠ্য স্তর পৃষ্ঠার প্রকৃত পরিস্থিতি নির্ধারণ করতে হবে।
| আপনার অবস্থা | প্রস্তাবিত অভ্যাস | কারণ |
|---|---|---|
| নিষ্কাশিত পাঠ্যটি ছোট | প্রথমে টেক্সট রাখুন এবং OCR জোর করবেন না কারণ এটি থ্রেশহোল্ডের চেয়ে কম। | সংক্ষিপ্ত পাঠ্যটি আরও পরিদর্শনের জন্য একটি সংকেত মাত্র |
| নিষ্কাশন ফলাফল খালি | পৃষ্ঠার চিত্র এবং বিষয়বস্তুর ধরণ পরীক্ষা করুন, এটিকে স্ক্যান করা অনুলিপি হিসাবে সরাসরি বিচার করবেন না | খালি পাঠ্য স্ক্যানের সমান নয় |
| পৃষ্ঠায় দৃশ্যত শব্দ আছে, কিন্তু নিষ্কাশন ফলাফল খালি বা বিকৃত অক্ষর। | OCR প্রক্রিয়ায় স্যুইচ করুন | pypdf টেক্সট অবজেক্ট পড়ে, ছবিতে কোন পঠনযোগ্য অক্ষর এনকোডিং নেই |
| একটি ডুয়াল-লেয়ার PDF এর টেক্সট লেয়ারটি অসম্পূর্ণ বা ইমেজের সাথে মিসলাইন করা হয়েছে | ম্যানুয়াল পর্যালোচনা সারিতে অন্তর্ভুক্ত করুন, বা ভিজ্যুয়াল তুলনা করুন | টেক্সট স্তর শুধুমাত্র বিষয়বস্তুর অংশ কভার করতে পারে, এবং কোড ডাইভার্ট করা যেতে পারে কিন্তু শব্দার্থবিদ্যা সঠিক হবে নিশ্চিত করা যাবে না. |
| পার্সিং প্রক্রিয়া চলাকালীন ত্রুটি | অস্বাভাবিক পর্যায় রেকর্ড করুন | একটি ফাঁকা পাতা হতে ভান করা উচিত নয় |
পাঠ্য পার্সিং এবং চিত্র স্বীকৃতির মধ্যে প্রযুক্তিগত পার্থক্য
যখন অনেক লোক নিষ্কাশন ব্যর্থতার সম্মুখীন হয়, তাদের প্রথম প্রতিক্রিয়া হল extraction_mode="layout" অনুপস্থিত কিনা বা ঘূর্ণন কোণটি নির্দিষ্ট করা দরকার কিনা তা পরীক্ষা করা। কিন্তু বেশিরভাগ ইঞ্জিনিয়ারিং পরিস্থিতিতে, এটি একটি প্যারামিটার সমস্যার পরিবর্তে টুল নির্বাচনে একটি অমিল। pypdf মূলত একটি PDF বিষয়বস্তু স্ট্রীম পার্সার যা ফাইলটিতে এমবেড করা টেক্সট অবজেক্ট নির্দেশাবলী পড়ে। যদি পিডিএফ মূলত একটি ছবি (স্ক্যান) হয়, তবে নিষ্কাশন মোড যেভাবেই সামঞ্জস্য করা হোক না কেন, অক্ষরগুলি পাতলা বাতাস থেকে পড়া যাবে না।
এটি বোঝার জন্য, আমাদের প্রথমে পিডিএফ-এর আসল ডিজাইনের উদ্দেশ্য চিনতে হবে। PDF সুনির্দিষ্ট মুদ্রণ এবং ভিজ্যুয়াল উপস্থাপনার জন্য ডিজাইন করা হয়েছে, স্ট্রাকচার্ড ডেটা স্টোরেজের জন্য নয়। ডিজিটাল নেটিভ পিডিএফ-এ ফন্ট রিসোর্স, এনকোডিং ম্যাপ এবং একেবারে পজিশনযুক্ত টেক্সট অঙ্কন নির্দেশাবলী রয়েছে। pypdf এই নির্দেশাবলী পার্স করে পাঠ্য পুনরুদ্ধার করে। এই প্রক্রিয়াটির সুবিধা হল নির্ণয়বাদ: এটি অনুরূপ শব্দগুলিকে বিভ্রান্ত করে না (যেমন 0 এবং O), বিশেষ চিহ্ন এবং লিগ্যাচার সংরক্ষণ করতে পারে এবং চিত্রের শব্দ দ্বারা প্রভাবিত হয় না।
কেন আমি স্ক্যান করা PDF বের করতে পারছি না?
স্ক্যান করা পিডিএফগুলি কেবল ছবির জন্য পাত্রে। দৃশ্যত দৃশ্যমান পাঠ্যটি ফাইল কাঠামোতে পিক্সেলের একটি ম্যাট্রিক্স মাত্র, এবং extract_text() দ্বারা পড়তে পারে এমন কোনো পাঠ্য বস্তু নেই।
কেন ডবল-লেয়ার পিডিএফের ফলাফল অস্থির হয়?
কিছু স্ক্যান করা ডকুমেন্ট OCR সফ্টওয়্যার দিয়ে প্রসেস করা হয় এবং একটি লুকানো টেক্সট লেয়ার এমবেডেড থাকে, যা "ডাবল-লেয়ার পিডিএফ" নামে পরিচিত। pypdf শুধুমাত্র এই স্তরের বিষয়বস্তু বের করতে পারে। যদি আসল OCR গুণমান খারাপ হয়, পাঠ্য স্তরটি অনুপস্থিত থাকে, এনকোডিং দূষিত হয়, বা চিত্রের সাথে মারাত্মকভাবে ভুলভাবে সংযুক্ত করা হয়, নিষ্কাশন ফলাফল অসম্পূর্ণ বা এমনকি সম্পূর্ণ খালি হবে। এই মুহুর্তে pypdf প্যারামিটারগুলি ডিবাগ করা চালিয়ে যাওয়া সামান্য অর্থপূর্ণ, এবং আপনার অপটিক্যাল ক্যারেক্টার রিকগনিশন (OCR) প্রক্রিয়াতে স্যুইচ করা উচিত।
বিচারের ভিত্তি খালি চোখে পৃষ্ঠায় শব্দ আছে কিনা তা দেখার উপর ভিত্তি করে হওয়া উচিত নয়, তবে পাঠ্য স্তরের প্রকৃত অস্তিত্ব এবং বৈধতা সনাক্ত করতে একটি প্রোগ্রাম ব্যবহার করা উচিত।
📊 মূল তুলনা
| ফাইলের ধরন | pypdf কি সরাসরি বের করা যায়? | বিচারের ভিত্তি | ফলো-আপ প্রক্রিয়াকরণ |
|---|---|---|---|
| ডিজিটালি নেটিভ পিডিএফ | পারে | ফন্টগুলি পার্স করা, এনকোডিং ম্যাপিং এবং পাঠ্য অঙ্কন আদেশগুলি | সরাসরি নিষ্কাশন ফলাফল ব্যবহার করুন |
| প্লেইন স্ক্যান করা পিডিএফ সংস্করণ | না | কেবলমাত্র পিক্সেল, কোনও পাঠ্য বস্তু নেই | ওসিআর প্রক্রিয়া লিখুন |
| ডাবল লেয়ার পিডিএফ | শুধুমাত্র লুকানো পাঠ্য স্তরটি নিষ্কাশন করা যেতে পারে | পাঠ্য স্তরগুলি অনুপস্থিত, দূষিত বা ভুলভাবে সারিবদ্ধ হতে পারে | সম্পূর্ণতা পরিদর্শন করুন এবং প্রয়োজনে ম্যানুয়ালি পর্যালোচনা করুন বা চাক্ষুষভাবে তুলনা করুন |
সংশ্লেষণ উদাহরণ: একটি পরীক্ষার বেসলাইনের সাথে সনাক্তকরণ যুক্তি যাচাই করা
উপরের পরিস্থিতিগুলি কীভাবে প্রোগ্রামেটিক্যালি আলাদা করা যায় তা প্রদর্শন করার জন্য, প্রথমে স্ট্যান্ডার্ডাইজড সংশ্লেষণ ইনপুটগুলির একটি সেট তৈরি করতে হবে। নিম্নলিখিত কোডটি শুধুমাত্র একটি যৌক্তিক প্রদর্শন এবং একটি স্ব-লকিং নির্ভরতা পরিবেশে চালানো আবশ্যক; এটি নির্দিষ্ট উত্পাদন ফাইলগুলির জন্য একটি পরীক্ষা প্রতিবেদন নয়। নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করে পরীক্ষার তথ্য প্রস্তুত করুন:
- সাধারণ সংখ্যাগুলি পিডিএফ : ওয়ার্ড বা ল্যাটেক্সে "চালান # 2024-001" পাঠ্যযুক্ত নথিগুলি রফতানি করুন।
- বিশুদ্ধ স্ক্যান পিডিএফ : কাগজের নথিটি জেপিইজিতে স্ক্যান করুন, তারপরে এটি একটি একক পৃষ্ঠার পিডিএফে অন্তর্ভুক্ত করুন, নিশ্চিত করুন যে কোনও পাঠ্য স্তর অন্তর্ভুক্ত নেই।
- সীমানা কেস নমুনা : খালি স্ট্রিং বা সমস্ত স্পেস সমন্বিত একটি পাঠ্য স্তর সহ একটি "ছদ্ম-ওসিআর" পিডিএফ তৈরি করুন, একটি ডাবল-লেয়ার ডকুমেন্ট অনুকরণ করে যা এটি সনাক্ত করতে ব্যর্থ হয়।
টেক্সট লেয়ার ইউজেবিলিটি চেক কোড
নিম্নলিখিত পাইথন উদাহরণটি মেমরিতে সনাক্তকরণ যুক্তি কীভাবে তৈরি করতে হয় তা দেখায়। কোডটি pypdf>=3.0.0 এর উপর নির্ভর করে। অনুগ্রহ করে একটি স্বতন্ত্র ভার্চুয়াল পরিবেশে সংশ্লিষ্ট সংস্করণটি ইনস্টল করুন। স্ক্রিপ্টে প্রকৃত ফাইল পথ নেই। দয়া করে চালানোর আগে উপরে উল্লিখিত সিন্থেটিক পরীক্ষার ফাইল দিয়ে স্থানধারক পথটি প্রতিস্থাপন করুন।
from io import BytesIO
import pymupdf
from pypdf import PdfReader
with pymupdf.open() as doc:
page = doc.new_page()
page.insert_text((50, 50), "Hi")
doc.new_page()
raw = doc.tobytes()
reader = PdfReader(BytesIO(raw))
records = []
for index, page in enumerate(reader.pages):
text = page.extract_text() or ""
records.append({"page": index + 1, "text": text,
"status": "text_present" if text.strip() else "review_empty_text"})
assert len(records) == 2
assert records[0]["status"] == "text_present"
assert records[0]["text"].strip() == "Hi"
assert records[1]["status"] == "review_empty_text"
গ্রহণযোগ্যতার সিদ্ধান্ত এবং ম্যানুয়াল পর্যালোচনা সীমানা
কোড প্রদর্শনগুলি কেবল "কোনও পাঠ্য স্তর আছে কিনা" এর বাইনারি রায়কে সম্বোধন করে এবং এন্ড-টু-এন্ড প্রভাবের জন্য আরও বাস্তব-বিশ্বের কারণগুলি বিবেচনা করা প্রয়োজন। নীচের সারণীটি সাধারণ পর্যবেক্ষণ এবং সংশ্লিষ্ট হ্যান্ডলিং সিদ্ধান্তগুলি তালিকাভুক্ত করে, অটোমেশন প্রক্রিয়াগুলির সুযোগ এবং ম্যানুয়াল হস্তক্ষেপের পয়েন্টগুলি স্পষ্ট করে:
| পর্যবেক্ষণ | কি করা উচিৎ | এবং বিচার করা উচিত নয় |
|---|---|---|
| সংক্ষিপ্ত পাঠ্য | লেখাটি তখনও সংরক্ষণ করা হয়েছিল | ওসিআর কেবল থ্রেশহোল্ড কম হওয়ার কারণে বাধ্য করা হয় না |
| খালি পাঠ্য | পৃষ্ঠার চিত্র এবং সামগ্রীর ধরণ পরীক্ষা করুন | এটি সরাসরি স্ক্যান হিসাবে শ্রেণীবদ্ধ করা হয় না |
| পার্সিং ব্যর্থ হয়েছে | অস্বাভাবিক পর্যায়গুলি রেকর্ড করুন | এটি একটি ফাঁকা পৃষ্ঠা হিসাবে ছদ্মবেশ ধারণ করবেন না |
যখন কোনও নথিতে ঐচ্ছিক পাঠ্য স্তর এবং চিত্র স্তর উভয়ই থাকে তখন বিশেষ মনোযোগ দেওয়া উচিত, পাঠ্য স্তরটির অখণ্ডতা কেবল বিশ্বাস করা যায় না। কিছু স্ক্যানার ডাবল-লেয়ার পিডিএফ তৈরি করে, পাঠ্য স্তরটি সামগ্রীর কেবল অংশকে কভার করে, বা স্থানাঙ্কগুলি চিত্রের সাথে মারাত্মকভাবে ভুলভাবে সারিবদ্ধ হয়। এই জাতীয় কেসগুলি ম্যানুয়াল পর্যালোচনা সারিতে অন্তর্ভুক্ত করা উচিত বা ভিজ্যুয়াল তুলনা অ্যালগরিদম দ্বারা পুনরায় বৈধ করা উচিত।
তথ্যসূত্র
- অফিসিয়াল পিওয়াইপিডিএফ পাঠ্য নিষ্কাশন নথি: Extract Text from a PDF
- ওসিআর এবং পাঠ্য নিষ্কাশনের মধ্যে পার্থক্যের পিপিডিএফ ব্যাখ্যা: উপরের নথি "ওসিআর বনাম পাঠ্য নিষ্কাশন" বিভাগের মতোই
ডকুমেন্ট অনুবাদের জন্য চেকলিস্ট ব্যবহার করুন
নথি বিভাজন, এনক্রিপশন বা সংযুক্তি হ্যান্ডলিং হল ডেলিভারির আগে প্রস্তুতিমূলক কাজ; অনুবাদ এই চেকগুলি প্রতিস্থাপন করতে পারে না। প্রথমে মূল এবং প্রক্রিয়াকরণ চেকলিস্টটি রাখার পরামর্শ দেওয়া হয়, তারপরে অনুবাদের পৃষ্ঠার ক্রম, লিঙ্ক এবং সামগ্রীর সম্পূর্ণতা মূল্যায়ন করুন।
OmniDoc (প্রোডাক্ট এন্ট্রি) মাল্টি-ফর্ম্যাট ডকুমেন্ট অনুবাদ পোর্টাল সরবরাহ করে এবং এর অফিসিয়াল ওয়েবসাইট ওসিআর, শব্দকোষ এবং দ্বিভাষিক রেফারেন্স বৈশিষ্ট্যগুলি প্রবর্তন করে। আপনি যদি ফাইল থেকে সরাসরি শুরু করতে চান তবে আপনি প্রকৃত নমুনা দিয়ে এই পথটি মূল্যায়ন করতে পারেন। অনুগ্রহ করে আপনি যে বেনামী ফাইলটি আপলোড করার জন্য অনুমোদিত করেছেন তা ব্যবহার করুন এবং এই নিবন্ধের চেকলিস্টের সাথে ফলাফলগুলি যাচাই করুন। এই নিবন্ধটি দাবি করে না যে OmniDoc এখানে উল্লিখিত ওপেন সোর্স লাইব্রেরি বা অভ্যন্তরীণ অ্যালগরিদম ব্যবহার করে এবং উদাহরণগুলি পণ্য পারফরম্যান্স পরীক্ষা প্রতিস্থাপন করতে পারে না।
🎯 কোন পদ্ধতিটি আপনার জন্য উপযুক্ত?
আপনি যদি ...... করেন
- আপনি যে পিডিএফ পান তা পাঠ্য নির্বাচন করতে পারে : বেশিরভাগ ক্ষেত্রে, আপনি পিওয়াইপিডিএফ ব্যবহার করে সরাসরি নিষ্কাশন করতে পারেন এবং পাঠ্যের ফলাফলগুলি রাখতে পারেন।
- নিষ্কাশিত ফলাফলগুলি খুব সংক্ষিপ্ত বা খালি : প্রথমে পৃষ্ঠার চিত্র এবং বিষয়বস্তুর ধরণ পরীক্ষা করুন, তারপরে ওসিআর প্রয়োজন কিনা তা সিদ্ধান্ত নিন; সিদ্ধান্তে ঝাঁপিয়ে পড়বেন না।
- পৃষ্ঠার পাঠ্য দৃশ্যমান, তবে নিষ্কাশন করা যাবে না: বারবার প্যারামিটার সামঞ্জস্য না করে ওসিআর প্রক্রিয়ায় স্যুইচ করুন।
- ডাবল-লেয়ার পিডিএফ পরিচালনা করা: পাঠ্য স্তরটি সম্পূর্ণ এবং চিত্রগুলির সাথে সারিবদ্ধ কিনা তা পরীক্ষা করুন; যদি সন্দেহ হয় তবে ম্যানুয়াল পর্যালোচনা দেখুন।
❓ প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী (FAQ)
1. আপনি যদি পাঠ্য বের করতে না পারেন তবে এর অর্থ কি এটি সর্বদা একটি স্ক্যান?
অগত্যা নয়। সংক্ষিপ্ত বা ফাঁকা পাঠ্য আরও পরিদর্শনের জন্য কেবল একটি সংকেত; সিদ্ধান্ত নেওয়ার আগে আপনাকে পৃষ্ঠার চিত্র এবং সামগ্রীর ধরণ পরীক্ষা করতে হবে।
2. extraction_mode সামঞ্জস্য করা কি স্ক্যান করা ফাইলগুলি নিষ্কাশনের সমস্যাটি সমাধান করতে পারে?
না। পিওয়াইপিডিএফ পাঠ্য অবজেক্টগুলি পড়ে এবং স্ক্যান করা চিত্রটিতে পঠনযোগ্য অক্ষর এনকোডিংয়ের অভাব রয়েছে, তাই প্যারামিটার সমন্বয়গুলি পাতলা বাতাস থেকে পাঠ্য তৈরি করতে পারে না।
3. পিপিডিএফ কি ওসিআর প্রতিস্থাপন করতে পারে?
না। Pypdf এর পাঠ্য নিষ্কাশন OCR নয়; এটি কেবল ফাইলে ইতিমধ্যে বিদ্যমান পাঠ্য অবজেক্টগুলি পড়তে পারে।
4. ডাবল-লেয়ার পিডিএফের পাঠ্য স্তরটি কি সরাসরি বিশ্বাস করা যায়?
আপনি তাদের সরাসরি বিশ্বাস করতে পারবেন না। পাঠ্য স্তরটি কেবল সামগ্রীর অংশটি কভার করতে পারে বা চিত্র স্থানাঙ্কগুলির সাথে ভুলভাবে সারিবদ্ধ হতে পারে, তাই ম্যানুয়াল পর্যালোচনা বা ভিজ্যুয়াল তুলনা গৌণ যাচাইকরণের জন্য ব্যবহার করা উচিত।
5. নিষ্কাশিত লেখাটি খুব সামান্য, অবিলম্বে কি ওসিআর করা উচিত?
এ কারণে ওসিআরকে জোর করার দরকার নেই। মূল পাঠ্যটি প্রথমে সংক্ষিপ্ত পাঠ্যটি ধরে রাখার পরামর্শ দেয়, তারপরে অন্যান্য চেকপয়েন্টগুলি বিবেচনা করে।
📝 সারসংক্ষেপ
আপনি যদি পিওয়াইপিডিএফে পাঠ্য না পান তবে প্যারামিটারগুলি সামঞ্জস্য করার জন্য তাড়াহুড়ো করবেন না। পৃষ্ঠার পর পৃষ্ঠা পাঠ্য স্তরের প্রকৃত পরিস্থিতি মূল্যায়ন করুন, তারপরে এটি সরাসরি ব্যবহার করবেন, ওসিআর প্রবেশ করবেন বা ম্যানুয়াল পর্যালোচনাতে স্যুইচ করবেন কিনা তা সিদ্ধান্ত নিন, যা আরও নির্ভরযোগ্য ফলাফল দেবে।
এখনই অভিজ্ঞতা: অনুবাদ শুরু করতে আপনার নথি আপলোড করুন, মূল ফর্ম্যাটিং সংরক্ষণ করুন


