首页 > 解决方案 > 如何将文件路径传递给 iText 的 PdfReader

问题描述

我使用 iText 来获取这样的 pdf 内容:

try {
            String parsedText="";
            File file = new File(getApplicationContext().getFilesDir(), "test.pdf");
            PdfReader reader = new PdfReader(String.valueOf(file));
            int n = reader.getNumberOfPages();
            for (int i = 0; i <n ; i++) {
                parsedText   = parsedText+ PdfTextExtractor.getTextFromPage(reader, i+1).trim()+"\n"; //Extracting the content from the different pages
            }
            
            reader.close();
        } catch (Exception e) {
            
            Log.d("heh", String.valueOf(e));

        }

但它返回错误:

/data/user/0/com.clementine.story_project/files/test.pdf not found as file or resource.

我究竟做错了什么?

标签: javaandroiditext

解决方案


PdfReader 不接受文件对象,但它接受 InputStream。所以你可以使用下面的代码

 Path path = file.toPath();
 if(Files.exists(path)) {
    PdfReader reader = new PdfReader(Files.newInputStream(path));
   //other operations
 }

此外,在调用流之前添加了文件存在条件。


推荐阅读