我使用itextpdf从我的android应用程序中的pdf中提取文本。对于有英语语言的pdf来说,它很好,但是当我试图从marathi或印地语pdf中提取文本时,它并不是提取正确的文本。
它带来的结果是
मत्रबधअरुणकळकणीैंुशेणानेजधमनीसारवनूझाल्याआधणसमुाककागणुगणुतरागोळीकाढूलागली。तीं
请帮助我提取适当的内容。
发布于 2016-12-02 09:38:21
如果你不在安卓系统上,答案会很简单:使用iText 7。当用iText 7解析文档时,输出会更清晰。它仍然不是100%正确的,但至少在我看来它是可读的(虽然我需要一位母语为我的人来确认)。这是第2页:
मैत्रबधंअरुणकुळकणी
मैत्रबधं
अरुणकुळकणी
ईसाहित्यप्रहिष्ठान
ईसाहित्यप्रहिष्ठान
下一页的结果是相似的,有些小问题,但没有像iText 5那样扭曲。
但不幸的是你在安卓系统上。到目前为止,iText 7还没有安卓版本,因此您将不得不等待一个版本,或者尝试手动将iText移植到Android平台(如果您对安卓和iText都不熟悉的话,这可能会花费很长时间)。
这是我使用的iText 7代码:
// iText imports
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.canvas.parser.PdfTextExtractor;
public class HindiText {
@Test
public void go() throws Exception {
try (PdfDocument doc = new PdfDocument(new PdfReader("input.pdf"))) {
try (OutputStream os = new FileOutputStream("output.txt")) {
String result = PdfTextExtractor.getTextFromPage(doc.getPage(3));
os.write(result.getBytes(Charset.forName("UTF-16")));
}
}
}
}
FYI:从2016-12-02开始,您需要从源代码(https://github.com/itext/itext7)构建https://github.com/itext/itext77,以达到我前面描述的质量。此功能将在发布时包含在iText 7.0.2中。
https://stackoverflow.com/questions/40926607
复制相似问题