2011-11-23 30 views
5

से निर्देशांक और आकार के साथ छवियों और शब्दों को निकालें मैंने पीडीएफ निष्कर्षणों और पुस्तकालयों (iText के रूप में) के बारे में बहुत कुछ पढ़ा है, लेकिन मुझे पीडीएफ से छवियों और पाठ (निर्देशांक के साथ) निकालने का कोई समाधान नहीं मिला है।पीडीएफ

कार्य पीडीएफ को उत्पादों की सूची के साथ स्कैन करना और प्रत्येक छवि निकालना है। छवि पर दिखाए गए उत्पादों के लिए छवि कोड प्रत्येक छवि के बगल में मुद्रित है और उत्पाद कोड की एक सूची भी है।

मुझे पता है कि इस तरह के पीडीएफ से संरचित जानकारी निकालने का कोई तरीका नहीं है लेकिन सभी छवियों और टेक्स्ट ऑब्जेक्ट्स के निर्देशांक के साथ मैं छवि से अपनी दूरी से लिंक किए गए टेक्स्ट की पहचान करने के लिए कोड लिख सकता हूं। तब मैं एक रेगुलर एक्सप्रेशन का उपयोग करके पाठ विभाजित है और पता लगाने के एक उत्पाद कोड है क्या कर सकता है, एक छवि कोड आदि

आप कार्य के लिए एक अच्छा और काम समाधान की अनुशंसा कर सके क्या है?

+1

क्या आप एक निश्चित मंच/भाषा को लक्षित कर रहे हैं? जब आप कहते हैं कि "स्कैन" का मतलब है "देखो" या आप वास्तव में एक भौतिक वस्तु स्कैन कर रहे हैं और क्या ओसीआर क्षमताओं की आवश्यकता होगी? –

+0

आपके उत्तर के लिए धन्यवाद! मैं .NET में प्रोग्राम करता हूं इसलिए कोई भी लाइब्रेरी जिसमें .NET पोर्टिंग है वह अच्छा है। लेकिन मुझे जावा भी पता है इसलिए चरमपंथियों में मैं जावा पुस्तकालय का उपयोग कर सकता हूं। वैसे भी मुझे ओसीआर की आवश्यकता नहीं है। मेरे पीडीएफ में पाठ और छवियां हैं। टेक्स्ट को पीडीएफ की सामग्री-स्ट्रीम में प्रस्तुत किया जाता है, इसलिए मैं किसी प्रकार का पार्सर/रेंडर करता हूं जो सिर्फ मुझे बताता है कि एक पृष्ठ पर स्ट्रिंग को कब प्रस्तुत किया जाना चाहिए। मुझे सिर्फ तारों की जरूरत है। – Alex

उत्तर

0

कई जावा पुस्तकालय यह कर सकते हैं। क्या आपने जेपीडल या पीडीएफबॉक्स पर देखा है?

+0

मैंने अभी रेंडरलिस्टर के साथ iTextSharp की कोशिश की। ऐसा लगता है लेकिन बहुत अच्छा नहीं है। iTextSharp मेरे पीडीएफ रिटर्न छवियों के लिए सही तारों के साथ, लेकिन सभी पाठ परत में गलत तार हैं। मुझे लगता है कि मेरे पीडीएफ में 2 टेक्स्ट लेयर हैं और iTextSharp मुझे coords नहीं देते हैं। मैंने iTextSharp वापसी के एक छवि बॉक्स पर आकर्षित करने की कोशिश की और मैं जल्दी से देख सकता हूं कि 3 परत (छवियों के लिए 1 और पाठ के लिए 2) हैं और यह परत बिल्कुल गठबंधन नहीं है। – Alex

+0

क्या आप उस कोड को साझा कर सकते हैं जिसका उपयोग आपने छवि कॉर्ड निकालने के लिए किया था? रेंडर छवि ImageRenderInfo पारित किया गया है। मैं उससे निर्देशांक कैसे निकालूं? – letronje

0

यदि कोई वाणिज्यिक लाइब्रेरी आपके लिए एक विकल्प है, तो आप Amyuni PDF Creator .Net या Amyuni PDF Creator ActiveX को आजमा सकते हैं। आप अपनी रुचि के सभी "ग्राफ़िक ऑब्जेक्ट्स" को पुनर्प्राप्त करने के लिए IacDocument.GetObjectsInRectangle विधि का उपयोग कर सकते हैं, फिर टेक्स्ट से छवियों को अलग करने के लिए ObjectType विशेषता का उपयोग करें। पुस्तकालय पहले से ही करीबी पाठ को एक साथ रखने के लिए एक एल्गोरिदम प्रदान करता है। प्रलेखन से:

IacDocument.GetObjectsInRectangle Method 

The GetObjectsInRectangle method gets all the objects that are in the specified rectangle. 

सामान्य अस्वीकरण लागू होता है।

3

उपयोग xpdf (http://www.foolabs.com/xpdf/)

यह समन्वय (pdftotext -bbox [sourcefile] [outputfile]) है और यह भी सभी छवियों और पीडीएफ में SVGs साथ पीडीएफ में सभी पात्रों निकाल सकते हैं।

यह खुला स्रोत (जीपीएलवी 2) है और साथ ही साथ कई अतिरिक्त निष्कर्षण कार्यशीलताओं का भी समर्थन करता है।

+0

मैं वर्षों से पीडीएफटीओटीएक्स का उपयोग कर रहा हूं और कभी भी इस सुविधा में घुसपैठ नहीं किया! इससे पहले कभी काम करने में सक्षम नहीं था कि कैसे आसानी से निर्देशांक निकालें। – fred2

+1

क्या यह सही है? बॉक्स विकल्प मेरे लिए काम नहीं कर रहा है, और मुझे दस्तावेज़ में इसके बारे में कुछ भी नहीं मिला है। – jss