2

我是 Android 新手。我在 Android 中使用 iText 实现 PDF 文档。我想在我的应用程序中阅读 PDF 文档。我不知道如何在我的应用程序中访问 PDF 文档。我已经创建了,但是当我运行应用程序时出现异常FileNotFoundException,我还通过 DD-MS 在 SD 卡中导入了 PDF 文件。但 PDF 文件无法在 Android 中打开。这是我的代码:

import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.codec.Base64.InputStream;


public class MainActivity extends Activity 
{

    private static String FILE = "xyz.pdf";

    /** Called when the activity is first created. */

    @Override
    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;
        int n = 0;
        try
        {
            istr =(InputStream) assetManager.open("xyz.pdf");

            reader=new PdfReader(istr);
            n=reader.getNumberOfPages();
            Log.e("n value:","-> " +n);
            str=reader.getPageContent(2).toString();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        TextView tv = (TextView) findViewById(R.id.textOne);
        tv.setText(str);

    }

}
4

2 回答 2

5

据我所知,iText 仅用于创建 PDF,它不包含查看器部分。它是解析器,而不是渲染器。所以你需要选择另一个库来查看pdf。但是SO中有一些优秀的代码示例,你可以查看它是否符合你的要求。

您可以尝试其他解决方案而不是 iText ..
-在 Android 上使用 Java 渲染 PDF 文件
- http://andpdf.svn.sourceforge.net/viewvc/andpdf/trunk/

最后是一个出色的工作代码..
-实现 PDF 阅读器的代码示例

于 2013-06-25T11:50:49.277 回答
-1

我们可以从 iText 中提取数据。在这里,我从 PDF 文件中提取文本并显示在 Edit-text 上:

String path = data.getData().getPath();
File f = new File(path);

static PdfReader read;
read = new PdfReader(new FileInputStream(f));

 PdfReaderContentParser parser;
parser = new PdfReaderContentParser(read);

StringWriter strw;
strw = new StringWriter();

TextExtractionStrategy stretegy;
stretegy = parser.processContent(j, new SimpleTextExtractionStrategy());

strw.write(stretegy.getResultantText());

String da = strw.toString();
   
edt1.setText(da);
于 2015-11-16T10:55:33.607 回答