PDF தேடல் வார்த்தைகளை முன்னிலைப்படுத்தவும், ஏன் செவ்வகம் சாய்வு உரையை தவறாக வடிவமைக்கிறது?
சாய்வு எழுத்துருக்கள் தேடப்பட்ட குவாட் பகுதியை இணைக்கும் செவ்வகத்தை விட சிறியதாக மாற்ற வேண்டிய அவசியமில்லை. நான்கு மூலை திசைத் தகவலை நீங்கள் தக்கவைக்க வேண்டியிருக்கும் போது, ஹைலைட்டைச் சேர்க்க quads=True என்ற முடிவை நேரடியாகப் பயன்படுத்தவும்; தனிப்படுத்தல் சரியானதா என்பதைத் தீர்மானிக்க, எந்தப் பகுதி வேறுபாடு நுழைவாயிலையும் பயன்படுத்த வேண்டாம்.
சாய்வு உரைக்கான தேடல் சிறப்பம்சப் பெட்டி வளைந்தால், அது பெரும்பாலும் எழுத்துருவில் சிக்கல் இருப்பதால் அல்ல, மாறாக தனிப்படுத்துவதற்குப் பயன்படுத்தப்படும் வடிவியல் பொருள் தவறாகத் தேர்ந்தெடுக்கப்பட்டதால். இந்த கட்டுரை PyMuPDF ஐப் பயன்படுத்தும் டெவலப்பர்களுக்காக PDF உரை நிலைப்படுத்தலைச் செயலாக்குகிறது. சாய்வு அல்லது சுழற்றப்பட்ட உரையின் சிறப்பம்சங்கள் சரியானதா என்பதைத் தீர்மானிக்க ஏன் இணைக்கப்பட்ட செவ்வகத்தை (Rect) பயன்படுத்த முடியாது என்பதையும், வெவ்வேறு சூழ்நிலைகளில் அதை எவ்வாறு கையாள்வது என்பதையும் இது விளக்குகிறது.
இந்தக் கட்டுரையைப் படித்த பிறகு, தேடல் முடிவுகளுக்கு Quad அல்லது Rect ஐப் பயன்படுத்தலாமா என்பதை நீங்கள் தீர்மானிக்கலாம், தேடும் போது வெற்றிகள், குறுக்கு-வரிசைகள், பல வெற்றிகள் மற்றும் CropBox க்ராப்பிங் ஆகியவற்றை எவ்வாறு கையாள்வது என்பதைத் தெரிந்துகொள்ளலாம், மேலும் வடிவியல் நிலைப்பாட்டின் எல்லைக்கு அப்பாற்பட்ட சிக்கல்கள் என்ன என்பதைப் புரிந்து கொள்ளலாம்.
முழு உரை செயற்கை மாதிரிகள் மூலம் நிரூபிக்கப்பட்டுள்ளது, மேலும் குறியீடு ஒரு தனிமைப்படுத்தப்பட்ட சூழலில் மாதிரி சோதனைகளை அனுப்பியது, ஆனால் இது அனைத்து உண்மையான கோப்புகள் அல்லது தயாரிப்பு விளைவுகளுக்கு உத்தரவாதம் அளிக்காது. முக்கியமான ஆவணங்களைச் செயலாக்கும் முன், அசல் ஆவணங்களை வைத்து, கீழே உள்ள எல்லைகள் மற்றும் ஏற்றுக்கொள்ளும் உருப்படிகளின்படி அவற்றை மதிப்பாய்வு செய்யவும்.
சாய்வு உரையைத் தேடுவதற்கு, Quad அல்லது Rect என்பதைத் தேர்ந்தெடுக்கவா? ஒரு வாக்கியத்தின் முடிவு
சாய்வு எழுத்துரு தேடலின் மூலம் பெறப்பட்ட குவாட் பகுதியை இணைக்கும் செவ்வகத்தை விட சிறியதாக மாற்ற வேண்டிய அவசியமில்லை. நான்கு மூலை திசைத் தகவலைத் தக்கவைக்க வேண்டிய அவசியம் ஏற்பட்டால், சிறப்பம்சங்களைச் சேர்க்க quads=True இன் முடிவுகளை நேரடியாகப் பயன்படுத்தவும். தனிப்படுத்தல் சரியானதா என்பதைத் தீர்மானிக்க, எந்தப் பகுதி வேறுபாடு நுழைவாயிலையும் பயன்படுத்த வேண்டாம்.
| உங்கள் நிலைமை | பரிந்துரைக்கப்பட்ட நடைமுறைகள் | காரணம் |
|---|---|---|
| சாய்வு அல்லது சுழற்றப்பட்ட உரை, நான்கு மூலை நோக்குநிலை பாதுகாக்கப்பட வேண்டும் | சிறப்பம்சங்களைச் சேர்க்க quads=True இன் முடிவுகளை நேரடியாகப் பயன்படுத்தவும் | குவாட் நான்கு மூலை நோக்குநிலை தகவலை வைத்திருக்கிறது |
| ஹைலைட் செய்வது சரியானதா என்பதைத் தீர்மானிக்க, பகுதி வேறுபாடு வரம்பைப் பயன்படுத்த விரும்புகிறேன். | இதை செய்யாதே | சாய்வு எழுத்துரு குவாட் பகுதியை சிறியதாக மாற்ற வேண்டிய அவசியமில்லை, மேலும் வாசல் தீர்ப்பு நம்பகத்தன்மையற்றது. |
| தேடல் சொற்கள் கோடுகள் முழுவதும் பரவுகின்றன மற்றும் இயந்திரம் அவற்றை ஒரே சொல்லகராதி அலகு என அங்கீகரிக்கவில்லை. | திரும்பிய அனைத்து குவாட் துண்டுகளையும் வைத்து தனித்தனியாக சிறப்பம்சங்களை வரையவும் | வலுக்கட்டாயமாக ஒரு ரெக்டில் இணைவது, நடுவில் உள்ள வெள்ளை இடத்தின் சொற்பொருளை இழக்கும். |
| பக்கத்தில் CropBox க்ராப்பிங் உள்ளது | CropBox ஐ மீட்டெடுத்த பிறகு, பார்க்கக்கூடிய பகுதிக்குள் உள்ளடக்கம் இருப்பதைச் சரிபார்க்கவும் | search_for வழங்கும் ஆயத்தொலைவுகள் சுழற்றப்படாத அசல் பக்க இடத்தை அடிப்படையாகக் கொண்டவை, மேலும் get_text செதுக்கப்பட்ட பகுதியை இயல்பாகப் புறக்கணிக்கும் என்று கருத முடியாது. |
| பல வெற்றிகள் | பக்க எண்களை உருப்படியாக வைத்து அவற்றை ஒவ்வொன்றாகச் செயல்படுத்தவும் | முதல் ஒன்றைச் செயலாக்கினால் மட்டுமே மீதமுள்ள நிலைகளை இழக்க நேரிடும் |
சாய்வு எழுத்து ஏன் தவறாக தோன்றுகிறது?
பலர் இயல்பாகவே சாய்வு எழுத்துக்களின் செவ்வகமானது குவாடை விட மிகப் பெரியது என்று கருதுவார்கள், எனவே சிறப்பம்சமாக ரெக்டைப் பயன்படுத்துவது "பிரேம் விலகலை" ஏற்படுத்தும். உண்மையில், சாய்வு எழுத்துரு தேடப்பட்ட குவாட் பகுதியை இணைக்கும் செவ்வகத்தை விட சிறியதாக மாற்ற வேண்டிய அவசியமில்லை, எனவே தனிப்படுத்தல் சரியானதா என்பதை தீர்மானிக்க பகுதி வேறுபாட்டைப் பயன்படுத்துவது நம்பகமானதல்ல.
நான்கு மூலைகளின் நோக்குநிலை தகவலைப் பாதுகாப்பதே உண்மையில் தேவை. குவாட் இந்தத் தகவலைப் பதிவுசெய்யும்.
தன்னிறைவான கலவை உதாரணம்
எடுத்துக்காட்டாக சார்புகளுக்கு இறக்குமதி பட்டியலைப் பார்க்கவும். குறியீடானது நினைவகத்தில் உள்ளீட்டை உருவாக்குகிறது மற்றும் இயங்குவதற்கு வெளிப்புற கோப்புகள் தேவையில்லை. செயல்பாட்டு பதிவுகள் தனித்தனியாக வழங்கப்படுகின்றன மற்றும் அனைத்து ஆவணங்களும் உண்மையானவை என்பதற்கான உத்தரவாதத்தை பிரதிநிதித்துவப்படுத்தாது.
import pymupdf
with pymupdf.open() as source:
page = source.new_page(width=300, height=300)
page.insert_text((100, 250), "Searchable", fontsize=14, rotate=90)
hits = page.search_for("Searchable", quads=True)
assert len(hits) == 1
assert isinstance(hits[0], pymupdf.Quad)
page.add_highlight_annot(hits)
assert page.search_for("Missing", quads=True) == []
raw = source.tobytes()
with pymupdf.open(stream=raw, filetype="pdf") as doc:
page = doc[0] # Keep the owning page alive while using annotations.
annotations = list(page.annots())
assert len(annotations) == 1
assert len(annotations[0].vertices) == 4
சரியான வெளியீடு மற்றும் எல்லை உள்ளீடு செயலாக்கம்
மேலே உள்ள செயற்கை எடுத்துக்காட்டு, குவாடின் நடத்தையைச் சரிபார்க்கப் பயன்படும் இன்-மெமரி PDFஐ உருவாக்குகிறது. கீழே பல பொதுவான எல்லை உள்ளீடுகள் உள்ளன.
1. தேடல் வார்த்தைகள் கோடுகள் முழுவதும் பரவுகின்றன
தேடல் சொல் புதிய வரிகளை விரித்து, அதே சொல்லகராதி அலகு என இயந்திரம் அங்கீகரிக்கவில்லை என்றால், search_for ஒரு வெற்றுப் பட்டியலைத் தரலாம் அல்லது பகுதி துண்டுகளுடன் மட்டுமே பொருந்தலாம்.
- பல அருகாமையில் உள்ள குவாட்களை ஒரு நேர்கோட்டில் வலுக்கட்டாயமாக இணைக்க வேண்டாம், இல்லையெனில் நடுவில் உள்ள வெள்ளை இடத்தின் சொற்பொருள்கள் இழக்கப்படும்.
- திரும்பிய அனைத்து குவாட் துண்டுகளையும் வைத்து தனித்தனியாக சிறப்பம்சங்களை வரையவும்.
2. தேடல் வார்த்தை வழக்கமான சிறப்பு எழுத்துக்களைக் கொண்டுள்ளது
ஒரு தேடல் வார்த்தையில் வழக்கமான சிறப்பு எழுத்துகள் இருந்தால், அவற்றில் இருந்து தப்பிக்காமல், முடிவுகள் எதிர்பார்த்தபடி இருக்காது. அழைப்பதற்கு முன் உள்ளீட்டு சரம் பாதுகாப்பாக செயலாக்கப்பட வேண்டும்.
3. CropBox பயிர் செய்தல்
பக்கத்தில் CropBox க்ராப்பிங் இருந்தால், search_for வழங்கும் ஆயத்தொலைவுகள் இன்னும் சுழற்றப்படாத அசல் பக்க இடத்தை அடிப்படையாகக் கொண்டவை. CropBox ஐ மீட்டெடுத்த பிறகு, காணக்கூடிய பகுதிக்குள் உள்ளடக்கம் உள்ளதா என்பதை நீங்கள் சரிபார்க்க வேண்டும். get_text முன்னிருப்பாக பயிர்ப் பகுதியைப் புறக்கணிக்கிறது என்று நீங்கள் கருத முடியாது.
ஏற்றுக்கொள்ளும் அளவுகோல்கள் மற்றும் கைமுறை மதிப்பாய்வு எல்லைகள்
இந்த தீர்வு வடிவியல் பொருத்துதல் சிக்கலை மட்டுமே தீர்க்கிறது. பின்வரும் சூழ்நிலைகள் குவாட் மற்றும் ரெக்ட் ஆகியவற்றிற்கு இடையே தேர்ந்தெடுக்கும் விஷயமல்ல:
- PDF இன் உரை அடுக்கு சேதமடைந்துள்ளது;
- அசாதாரண எழுத்துரு உட்பொதித்தல்;
- மறைக்கப்பட்ட அடுக்குகள் உள்ளன.
இந்த சந்தர்ப்பங்களில், search_for இன் முடிவுகள் நம்பகத்தன்மையற்றதாக இருக்கலாம் மற்றும் கைமுறை மதிப்பாய்வு அல்லது மறு-OCR க்கு சமர்ப்பிக்கப்பட வேண்டும். மாதிரி குறியீடு வடிவியல் பண்புகளை மட்டுமே சரிபார்க்கிறது, மேலும் குறிப்பிட்ட ஆவண வகைகளின் அடிப்படையில் இறுதி முதல் இறுதி விளைவு இன்னும் மதிப்பீடு செய்யப்பட வேண்டும்.
குறிப்பிட்ட விதிவிலக்கு கையாளுதல் முடிவுகள்
| கவனிக்க | என்ன செய்வது | அனுமானிக்கக் கூடாது |
|---|---|---|
| ஹிட் இல்லை என்று தேடுங்கள் | உரை அடுக்கு மற்றும் முக்கிய வார்த்தைகளை சரிபார்க்கவும் | வெற்று சிறப்பம்சங்களை உருவாக்க வேண்டாம் |
| உரையை சுழற்று | குவாட் மூலைகளை வைத்திருங்கள் | பகுதி வேறுபாடு இல்லாமல் துல்லியமாக யூகிக்கப்படுகிறது |
| பல வெற்றிகள் | பக்க எண்களை உருப்படியாக வைத்திருங்கள் | முதல்வரை மட்டும் சமாளிக்காதீர்கள் |
📊 முக்கிய ஒப்பீடு
| பொருள் | தக்கவைக்கக்கூடிய தகவல்கள் | பொருந்தக்கூடிய காட்சிகள் | கவனிக்க வேண்டியவை |
|---|---|---|---|
| Quad | நான்கு மூலைகள் | சாய்வு, சுழற்றப்பட்ட உரை, துல்லியமான ஹைலைட் தேவை | quads=True இன் முடிவுகளை நேரடியாகப் பயன்படுத்தவும் |
| செவ்வகம் (சுற்றும் செவ்வகம்) | வெளிப்புற வரம்பு | கிடைமட்ட உரைக்கான எளிய சட்ட தேர்வு | சாய்வு அல்லது சுழற்றப்பட்ட உரை சட்டத்திற்கு வெளியே இருக்கலாம் மற்றும் சரியானது என்பதை மதிப்பிடுவதற்கு ஏற்றது அல்ல. |
| இணைக்கப்பட்டது ரெக்ட் | ஒட்டுமொத்த நோக்கம் | குறுக்கு வரி தேடல்களுக்கு பரிந்துரைக்கப்படவில்லை | நடுவில் உள்ள வெண்வெளியின் சொற்பொருள் தொலைந்து போகும் |
🎯 எந்த முறை உங்களுக்கு ஏற்றது?
நீங்கள் என்றால்....
- உரையின் நான்கு மூலை திசைகள் பாதுகாக்கப்பட வேண்டும்: ஹைலைட்களைச் சேர்க்க
quads=Trueஇன் முடிவுகளை நேரடியாகப் பயன்படுத்தவும். - ஹைலைட்டிங் சரியானதா என்பதைத் தீர்மானிக்க, பகுதி வேறுபாடு வரம்பை நீங்கள் பயன்படுத்த விரும்பினால்: இதைச் செய்ய வேண்டாம். சாய்வு எழுத்துரு குவாட் பகுதியை சிறியதாக மாற்ற வேண்டிய அவசியமில்லை.
- தேடல் கிராஸ்டு கோடுகளை எதிர்கொண்டது: அனைத்து குவாட் துண்டுகளையும் வைத்திருங்கள், தனித்தனியாக சிறப்பம்சங்களை வரையவும், ஒரு நேர்கோட்டில் ஒன்றிணைக்க வேண்டாம்.
- CropBox க்ராப்பிங் மூலம் பக்கங்களைக் கையாளுதல்: CropBox ஐ மீட்டெடுத்த பிறகு, பார்க்கக்கூடிய பகுதிக்குள் உள்ளடக்கம் உள்ளதா என்பதைச் சரிபார்க்கவும்.
ஆவண மொழிபெயர்ப்புக்கு இந்த சரிபார்ப்புப் பட்டியலைப் பயன்படுத்தவும்
முதலில் பக்க வரிசை, மூல இருப்பிடம் மற்றும் உரை ஒருமைப்பாடு ஆகியவற்றைச் சரிபார்த்து, பின்னர் அதே உணர்திறன் இல்லாத மாதிரியை மொழிபெயர்ப்புச் செயல்பாட்டில் சமர்ப்பிக்கவும். மொழிபெயர்ப்பிற்குப் பிறகு, தலைப்பு, உரை மற்றும் விளக்கப்படங்கள் சரியாக உள்ளதா என்பதை நீங்கள் சரிபார்க்க வேண்டும். உரை சீராக உள்ளதா என்பதை நீங்கள் சரிபார்க்க முடியாது.
OmniDoc (தயாரிப்பு போர்டல்) பல வடிவ ஆவண மொழிபெயர்ப்பு போர்ட்டலை வழங்குகிறது, மேலும் அதிகாரப்பூர்வ இணையதளம் OCR, சொற்களஞ்சியம் மற்றும் இருமொழி ஒப்பீட்டு செயல்பாடுகளை அறிமுகப்படுத்துகிறது. கோப்புகளில் இருந்து நேரடியாக வேலை செய்ய விரும்பும் குழுக்களுக்கு, இது நிஜ வாழ்க்கை மாதிரிகள் மூலம் மதிப்பீடு செய்ய வேண்டிய பாதையாகும். பதிவேற்றம் செய்ய உங்களுக்கு அனுமதி உள்ள டீசென்சிடைஸ் செய்யப்பட்ட கோப்புகளைப் பயன்படுத்தவும், மேலும் முடிவுகளை மதிப்பாய்வு செய்ய இந்தக் கட்டுரையில் உள்ள சரிபார்ப்பு உருப்படிகளைப் பயன்படுத்தவும். OmniDoc இந்த கட்டுரையில் குறிப்பிடப்பட்டுள்ள ஓப்பன் சோர்ஸ் லைப்ரரிகள் அல்லது உள் அல்காரிதம்களைப் பயன்படுத்துகிறது என்பதற்கான எந்தக் கூற்றும் இங்கு இல்லை, மேலும் இந்த எடுத்துக்காட்டுகள் தயாரிப்பு செயல்திறன் சோதனைக்கு மாற்றாக இல்லை.
குறிப்புகள்
❓ அடிக்கடி கேட்கப்படும் கேள்விகள் (FAQ)
1. சாய்வு உரை நிச்சயமாக குவாட் பகுதியை சிறியதாக்குமா?
நிச்சயமற்ற. சாய்வு எழுத்துரு, தேடப்பட்ட குவாட் பகுதியை இணைக்கும் செவ்வகத்தை விட சிறியதாக மாற்ற வேண்டிய அவசியமில்லை, எனவே சிறப்பம்சமாக சரியானதா என்பதை தீர்மானிக்க பகுதி வேறுபாட்டை நீங்கள் நம்ப முடியாது.
2. குவாட் கார்னர் தகவல்களை எப்போது தக்கவைக்க வேண்டும்?
நான்கு மூலை திசைத் தகவலைத் தக்கவைக்க வேண்டியிருக்கும் போது, நீங்கள் நேரடியாக quads=True இன் முடிவுகளைப் பயன்படுத்தி சிறப்பம்சங்களைச் சேர்க்க வேண்டும்.
3. தேடல் சொல் கோடுகளைக் கடக்கிறது மற்றும் வெற்றிகள் எதுவும் காணப்படவில்லை. நான் என்ன செய்ய வேண்டும்?
வெற்று சிறப்பம்சங்களை உருவாக்க வேண்டாம், முதலில் உரை அடுக்கு மற்றும் முக்கிய வார்த்தைகளை சரிபார்க்கவும். சில துண்டுகள் மட்டுமே திரும்பப் பெற்றால், திரும்பப் பெற்ற அனைத்து குவாட் துண்டுகளும் தனித்தனியாக வரையப்பட வேண்டும், மாறாக தனித்தனியாக வரையப்பட வேண்டும்.
4. CropBox மூலம் பக்கத்தை செதுக்கும் போது நீங்கள் என்ன கவனம் செலுத்த வேண்டும்?
search_for வழங்கும் ஆயத்தொலைவுகள் இன்னும் சுழற்றப்படாத அசல் பக்க இடத்தை அடிப்படையாகக் கொண்டவை. CropBox ஐ மீட்டெடுத்த பிறகு, காணக்கூடிய பகுதிக்குள் உள்ளடக்கம் உள்ளதா என்பதை நீங்கள் சரிபார்க்க வேண்டும். get_text முன்னிருப்பாக பயிர்ப் பகுதியைப் புறக்கணிக்கிறது என்று நீங்கள் கருத முடியாது.
📝 சுருக்கம்
சாய்வு மற்றும் சுழற்றப்பட்ட உரையின் சிறப்பம்சமானது குவாட் அடிப்படையிலானதாக இருக்க வேண்டும், மேலும் பக்க எண்கள் மற்றும் நான்கு மூலை தகவல்கள் உருப்படியாகத் தக்கவைக்கப்பட வேண்டும். உரை அடுக்கில் சேதம் மற்றும் அசாதாரண எழுத்துரு உட்பொதித்தல் போன்ற சிக்கல்களுக்கு இன்னும் கைமுறை மதிப்பாய்வு அல்லது மறு-OCR தேவைப்படுகிறது.


