का उपयोग करके टेक्स्ट और छवि स्थान (xy निर्देशांक) पढ़ें, मैं एन्क्रिप्टेड पीडीएफ फाइलों को पढ़ने के लिए जावा प्रोग्राम कर रहा हूं और पेज, पेज, छवियों और उनके पदों (एक्स, वाई निर्देशांक) सहित पृष्ठ पृष्ठ की सामग्री निकालने में हूं। फ़ाइल। अब मैं इस उद्देश्य के लिए पीडीएफबॉक्स का उपयोग कर रहा हूं और मुझे टेक्स्ट और छवियां मिल रही हैं। लेकिन मुझे टेक्स्ट स्थिति और छवि स्थिति नहीं मिल सका। कुछ एन्क्रिप्टेड पीडीएफ फाइलों को पढ़ने में कुछ समस्याएं भी हैं।पीडीएफबॉक्स
उत्तर
org.apache.pdfbox.examples.util.PrintTextLocations
पर एक नज़र डालें। मैंने इसे काफी हद तक उपयोग किया है और पीडीएफ दस्तावेज़ों में तत्वों और बाध्यकारी बक्से के लेआउट पर विश्लेषण करना बहुत उपयोगी है। इसने सफेद स्याही में मुद्रित वस्तुओं, या प्रिंट करने योग्य क्षेत्र के बाहर (संभावित रूप से दस्तावेज़ वॉटरमार्क, या "भूल गए" आइटम लेखक द्वारा दृष्टि से धक्का दिया) का खुलासा किया।
प्रयोग उदाहरण:
java -cp app/target/pdfbox-app-1.5.0.jar org.apache.pdfbox.examples.util.PrintTextLocations ~/tmp/mydoc.pdf >~/tmp/out-text-locations.txt
आप ऐसा ही कुछ मिल जाएगा:
Processing page: 0
String[53.9,59.856995 fs=-6.0 xscale=6.0 height=-3.666 space=1.3320001 width=4.6679993]A
String[58.568,59.856995 fs=-6.0 xscale=6.0 height=-3.666 space=1.3320001 width=2.6640015]f
String[61.232002,59.856995 fs=-6.0 xscale=6.0 height=-3.666 space=1.3320001 width=1.6679993]e
...
जिसे आप आसानी से पार्स और तत्व की स्थिति को प्लॉट करने के लिए उपयोग कर सकते हैं, बाउंडिंग बॉक्स वाले और "प्रवाह" (सभी तत्वों के माध्यम से प्रक्षेपवक्र), आदि प्रत्येक पृष्ठ के लिए। जैसा कि मुझे यकीन है कि आप पहले ही जानते हैं, आप पाएंगे कि पीडीएफ टेक्स्ट में कनवर्ट करना लगभग असंभव हो सकता है। यह वास्तव में सिर्फ एक ग्राफिक वर्णन प्रारूप है (यानी प्रिंटर या स्क्रीन के लिए), मार्कअप भाषा नहीं। आप आसानी से एक पीडीएफ बना सकते हैं जो "हैलो वर्ल्ड" प्रिंट करता है, लेकिन यह चरित्र पदों के माध्यम से यादृच्छिक रूप से कूदता है (और यदि आप चुनते हैं तो किसी भी आईएसओ चार एन्कोडिंग की तुलना में अलग ग्लिफ का उपयोग करता है), जिससे पीडीएफ को पाठ में परिवर्तित करना बहुत मुश्किल हो जाता है। "शब्द" या "अनुच्छेद" की कोई धारणा नहीं है। एक दो कॉलम दस्तावेज़, उदाहरण के लिए, टेक्स्ट में पार्स करने के लिए एक दुःस्वप्न हो सकता है।
अपने प्रश्न के दूसरे भाग के लिए, मैं अच्छे परिणाम xpdf संस्करण 3.02 का उपयोग कर किया था, Xref.cc फिक्सिंग के बाद (बनाने XRef::okToPrint()
, XRef::okToChange()
, XRef::okToCopy()
और XRef::okToAddNotes()
सब लौट gTrue
)। यह लॉक किए गए दस्तावेज़ों को संभालने के लिए है, एन्क्रिप्टेड नहीं हैं (इसके लिए वहां अन्य यूटिलियां हैं)।
- 1. पीडीएफबॉक्स
- 2. पीडीएफबॉक्स
- 3. पीडीएफबॉक्स
- 4. पीडीएफबॉक्स
- 5. पीडीएफबॉक्स
- 6. पीडीएफबॉक्स
- 7. पीडीएफबॉक्स
- 8. पीडीएफबॉक्स ड्रॉस्ट्रिंग
- 9. अपाचे पीडीएफबॉक्स
- 10. जावा - पीडीएफबॉक्स - टेक्स्ट एक्सट्रैक्शन
- 11. पीडीएफबॉक्स दस्तावेज़ में BufferedImage जोड़ें
- 12. पीडीएफबॉक्स के साथ भरने वाला पीडीएफ फॉर्म
- 13. क्या LucenePDFDocument पीडीएफबॉक्स से चला गया है?
- 14. पीडीएफ फॉर्म भरने के लिए पीडीएफबॉक्स का प्रयोग करें
- 15. पीडीएफबॉक्स शब्द के भीतर सफेद रिक्त स्थान जोड़ रहा है
- 16. पीडीएफबॉक्स: बहुत बड़े पीडीएफ के साथ काम करना।
- 17. जावा में पीडीएफ पर डालने पर पीडीएफबॉक्स ब्लूरी छवि
- 18. पीडीएफबॉक्स - शब्द स्थान प्राप्त करना (और न केवल वर्ण ')
- 19. पीडीएफबॉक्स पीडीएफ को छवि बाइट में कनवर्ट करें []
- 20. पीडीएफबॉक्स - एक छवि से पीडीएफ उत्पन्न करने के साथ समस्या
- 21. पीडीएफबॉक्स (दूषित पीडीएफ) के साथ डाउनलोड करने योग्य पीडीएफ कैसे उत्पन्न करें?
- 22. मैं पीडीएफबॉक्स के साथ निश्चित चौड़ाई पैराग्राफ कैसे बना सकता हूं?
- 23. पीडीएफबॉक्स का उपयोग करके, मैं पीडीडी दस्तावेज़ की सामग्री को बाइट सरणी के रूप में कैसे प्राप्त करूं?
- 24. जावा का उपयोग कर पीडीएफ से छवियों को निकालने के लिए कैसे करें (पीडीएफबॉक्स का उपयोग नहीं)
- 25. पीडीएफबॉक्स का उपयोग कर किसी मौजूदा पीडीएफ पेज के अंदर एक छवि को सही स्थिति में कैसे रखा जाए?
- 26. .NET
- 27. पीडीएफ से स्ट्रिंग तक
- 28. एंड्रॉयड: कन्वर्ट छवियों
- 29. क्या कोई भी नेट के लिए एक अच्छी पीडीएफ पढ़ने पुस्तकालय की सिफारिश कर सकता है?
- 30. "पैक किया गया पीडीएफ" क्या है, और इसे कैसे पढ़ा जा सकता है?