2016-12-02 9 views
2

itextpdfを使用して私のアンドロイドアプリケーションでpdfからテキストを抽出しています。それは英語を持つpdfのためにうまくいきますが、マラソンやヒンディー語pdfからテキストを抽出しようとすると、適切なテキストが抽出されません。androidのitextpdfを使用してmarathi、hindi pdfファイルからテキストを抽出する方法

それは

मत्रबधअरुणकळकणी ैंुशेणानेजधमनीसारवनूझाल्याआधणसमुाककागणुगणुतरागोळीकाढूलागलीとして結果を与えています。 तीं

あなたは、Android上でなかった場合、答えは簡単だろう、適切なコンテンツ

+0

違いを知らない人にとって「適切な内容」はなんですか? –

+0

かなとマトラスには通常、完全に別のコードが与えられます。そしてそれは手紙と共に書かれています。一度方向を確認したい場合は、パターンがある場合は、最後の値に修正する必要があります。 – SanVed

+0

私はちょうど私にpdfのように正しい言葉を与えていないと言いたい。 – Manoj

答えて

4

を抽出するために、この中で私を助けてください:iTextの7 iTextは7でドキュメントを解析するときに出力が出て非常にクリーンくるを使用まだ100%正確ではありませんが、少なくとも私はほとんど読めるように見えます(しかし、私はネイティブスピーカーが確認する必要があります)。これは、2ページのためである:

मैत्रबधंअरुणकुळकणी
मैत्रबधं

अरुणकुळकणी

ईसाहित्यप्रहिष्ठान
ईसाहित्यप्रहिष्ठान

結果は、いくつかのマイナーで、次のページの類似していますちょっとした問題ですが、iText 5のように歪んでいるものはありません。

しかし、残念ながらあなたはAndroidを使用しています。まだiText 7のAndroidバージョンはありませんので、待っているか、AndroidプラットフォームにiTextを手動で移植しようとしています(AndroidとiTextの両方に精通していなければ永遠にかかるでしょう) 。

これは私が使用しiTextの7コードです:FYI

// 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"))); 
      } 
     } 
    } 
} 

:2016年12月2日の時点で、あなたは、私が上記の品質を達成するために、ソース(https://github.com/itext/itext7)からiTextの7を構築する必要があります。この機能はリリース時にiText 7.0.2に含まれています。

+0

あなたはどの言語を使ったのですか?あなたのコードを共有することができますので、私はいくつかのアイデアを得ることができます – Manoj

+0

コードを共有していただきありがとうございます。 – Manoj

+0

あなたのコードを試しましたが、以前と同じ出力が得られました。あなたがitext 7からどのjarファイルを使用したか教えてください。 "com.itextpdf:kernel:7.0.1"依存関係を使用しました。 – Manoj

関連する問題