2009-11-05 12 views
6

पीडीएफ फाइल के पाठ (शब्द) को एक लंबे स्ट्रिंग या स्ट्रिंग्स के सरणी के रूप में प्राप्त करने का सबसे आसान तरीका क्या है।पीडीएफ से स्ट्रिंग तक

मैंने पीडीएफबॉक्स की कोशिश की है लेकिन यह मेरे लिए काम नहीं कर रहा है।

+1

pdfbox के बारे में क्या काम नहीं किया? क्या आप अपनी मौजूदा समस्या के लिए विकल्प या फिक्स ढूंढ रहे हैं? – Catchwa

+0

वैसे मुझे एपीआई पसंद नहीं आया था, मैंने आईटेक्स्ट पर एक त्वरित रूप से देखा है और मुझे लगता है कि यह एक बेहतर विकल्प है। एपीआई मेरी जरूरतों के लिए और अधिक तार्किक लगता है। – Ankur

उत्तर

1

JPedal और Multivalent भी Java में पाठ निकासी की पेशकश या आप कई नए पीडीएफ़ पर Runtime.exec

2

PDFBox barfs, विशेष रूप से एम्बेडेड PNG छवियाँ के साथ उन का उपयोग कर xpdf का उपयोग कर सकते हैं।

मैं PDFTextStream

4

उपयोग नीली लपटें बहुत प्रभावित हुए। उदाहरण के लिए निम्न स्निपेट टेक्स्ट निकालेगा।

 
PdfTextExtractor parser =new PdfTextExtractor(new PdfReader("C:/Text.pdf")); 
parser.getTextFromPage(3); 

0

ठीक है, मैं आदेश पीडीएफ से कच्चे पाठ (यह PDFBox पर आधारित है) को निकालने के लिए में टीका का इस्तेमाल किया है, लेकिन मुझे लगता है कि आप अलग अलग फ़ाइल स्वरूपों से पाठ निकाल लिए है केवल जब (ऑटो का पता लगाने में मदद करता है टीका उपयोगी है बहुत)।

यदि आप केवल पीडीएफ को टेक्स्ट में पार्स करना चाहते हैं तो मैं PDFTextStream का सुझाव दूंगा क्योंकि यह अन्य एपिस (जैसे iText और PDFBox) की तुलना में एक बेहतर पार्सर है।

पीडीएफटेक्स्टस्ट्रीम के साथ आप आसानी से संरचित पाठ (पेज-> ब्लॉक-> लाइन-> टेक्स्ट यूनिट्स) प्राप्त कर सकते हैं, और यह आपको पृष्ठ एन्कोडिंग, ऊंचाई, पृष्ठ में किसी चरित्र के स्थान आदि से संबंधित जानकारी निकालने की संभावना देता है। ..

उदाहरण:

public class ExtractTextAllPages { 
    public static void main (String[] args) throws IOException { 
     String pdfFilePath = args[0]; 
     PDFTextStream pdfts = new PDFTextStream(pdfFilePath); 
     StringBuilder text = new StringBuilder(1024); 
     pdfts.pipe(new OutputTarget(text)); 
     pdfts.close(); 
     System.out.printf("The text extracted from %s is:", pdfFilePath); 
     System.out.println(text); 
    } 
} 
संबंधित मुद्दे