1

私は現在、Android で itext を使用して PDF を読み取るサンプルをテストしていますが、問題があります。以下のコードは、Android エミュレーターで何も表示しません。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);        
    AssetManager assetManager = getAssets();
    InputStream istr = null;
    PdfReader reader=null;
    String str= null;
    try {
         istr =(InputStream) assetManager.open("resume.pdf");
         reader=new PdfReader(istr);
         str = PdfTextExtractor.getTextFromPage(reader, 1).toString();
         //str=reader.getPageContent(1).toString();
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
    TextView tv = (TextView) findViewById(R.id.txtview);
    tv.setText(str);
}

コードは機能していますが、PDF の内容が表示されません。

ここでの問題は、PDFドキュメントを正しく開いていないと思いますか?

ここでの私の目標は、PDF ドキュメントからテキストを抽出し、それをコード内の変数に転送して表示することです。

iText バージョン 5.3.3 を使用しています。

4

1 に答える 1

2

PDF が PDF メーカーで作成されている場合、それはテキストであり、スキャンしたドキュメントやその他の画像ではありません。

                String content;
                PdfReader reader = null;
                try {
                    //String fileName is the string with the path to your .pdf file, for example resources/pdfs/preface.pdf
                    reader = new PdfReader(fileName);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                int numberOfPages = readerTest.getNumberOfPages();
                numberOfPages = numberOfPages + 1;
                for (int page = 1; page < numberOfPages; page++){
                    try {
                        String content1Page = PdfTextExtractor.getTextFromPage(reader, page);
                        content = content + content1Page;
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }

String contentPDFのテキストが含まれるようになりました。

toString()編集:最初にこの行のメソッドを除外することもできます:str = PdfTextExtractor.getTextFromPage(reader, 1).toString();

于 2012-10-22T18:29:15.930 に答える