Render Time లో PDFలను పార్స్ చేయడం ఆపండి

చాలా ఫ్రంటెండ్ PDF ఎక్స్‌ట్రాక్షన్ టూల్స్ విఫలమవుతాయి.

డెవలపర్లు విజువల్ అవుట్‌పుట్ నుండి డాక్యుమెంట్ నిర్మాణాన్ని ఊహించడానికి ప్రయత్నిస్తారు. కాలమ్స్, టేబుల్స్ లేదా లిస్ట్‌లను కనుగొనడానికి వారు రెండర్ చేయబడిన పిక్సెల్‌లను చూస్తారు. ఒక బాక్స్ ఎక్కడ మొదలవుతుందో నిర్ణయించడానికి వారు కంప్యూటర్ విజన్ లేదా పిక్సెల్ ప్రాక్సిమిటీని ఉపయోగిస్తారు.

ఇది నిర్మించడానికి తప్పుడు మార్గం.

ఒక PDF ఇప్పటికే దాని ఆపరేటర్ స్ట్రీమ్‌లో స్పష్టమైన స్ట్రక్చరల్ డేటాను కలిగి ఉంటుంది. ఒక టేబుల్ అనేది కేవలం దగ్గరగా ఉన్న పిక్సెల్‌ల సమూహం మాత్రమే కాదు. అది moveTo, lineTo, లేదా rectangle వంటి నిర్దిష్ట కమాండ్లతో గీయబడుతుంది. మీరు కనుగొనాలనుకుంటున్న సరిహద్దులు ఇప్పటికే సోర్స్‌లో ఎన్‌కోడ్ చేయబడి ఉంటాయి.

మీ ఎక్స్‌ట్రాక్టర్ 100% జూమ్ వద్ద ఒకలా, 150% జూమ్ వద్ద మరొకలా వేర్వేరు కాలమ్స్‌ను ఇస్తుంటే, మీరు నిర్మాణాన్ని ఎక్స్‌ట్రాక్ట్ చేయడం లేదు. మీరు కేవలం విజువల్ ఆర్టిఫాక్ట్‌లను ప్యాటర్న్-మ్యాచ్ చేస్తున్నారు.

విజువల్ హ్యూరిస్టిక్స్‌ను ఉపయోగించడం ఆపండి. ఆపరేటర్ స్ట్రీమ్‌ను పార్స్ చేయడం ప్రారంభించండి.

ఆపరేటర్ స్ట్రీమ్ ఎందుకు మెరుగైనది అంటే:

కష్టమైన మార్గమే సరైన మార్గం.

మీరు CTM స్టాక్‌ను అర్థం చేసుకోవాలి. మీరు మ్యాట్రిక్స్ స్టేట్‌లను ట్రాక్ చేయాలి మరియు సబ్‌పాత్‌లను వర్గీకరించాలి. దీనిని నేర్చుకోవడానికి మీరు PDF స్పెసిఫికేషన్ మరియు సోర్స్ కోడ్‌ను చదవాల్సి ఉంటుంది.

దీనికి ముందుగా ఎక్కువ శ్రమ అవసరం కావచ్చు. కానీ వినియోగదారు అప్‌లోడ్ చేసే ప్రతి PDFకి ఇది పనిచేస్తుంది. పిక్సెల్ ఆధారిత టూల్స్ మీ టెస్ట్ సూట్‌లో ఉన్న కొన్ని ఫైల్‌లకు మాత్రమే పనిచేస్తాయి.

ఒక డెమోను కాదు, నిజమైన ఎక్స్‌ట్రాక్టర్‌ను నిర్మించండి.

Source: https://dev.to/bonzai2carn/stop-parsing-pdfs-at-render-time-a-better-architecture-for-structured-extraction-5fb8