使用mPdfViewer.fromFile(文件)打开文件显示一个空的pdf

时间:2017-10-18 13:17:30

标签: java android pdf

我在使用PDFViewer库打开文件时遇到问题。

Inside DocumentCreator类: 1.首先,我使用iText库创建文档,它完全正常,并将文档写入给定目录。 2.然后我创建一个文件对象,使用PDFViewer显示它。

try {
        mDocument = new Document(); // new Document created
        String path = "/" + FirebaseAuth.getInstance().getCurrentUser().getUid() + "-" + recipe.getTitle() + ".pdf";
        String fullPath = Environment.getExternalStorageDirectory() + "/recipes" + path;
        mPdfWriter = PdfWriter.getInstance(mDocument, new FileOutputStream(fullPath));
        doTheWriting(recipe, activity);
        Log.d("OK", "done");

        mMyRecipeFile = new File(fullPath);

    }
    catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    catch (DocumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

在同一个类(DocumentCreator)中,我为mMyRecipeFile创建了getter方法。

public File getRecipeFile() {
    return mMyRecipeFile;
}

之后在DocumentTestFragment中, 我创建了名为mPdfView的PDFView,我尝试打开这个文件。

mPdfView.fromFile(mDocCreator.getRecipeFile());

问题是它显示的是一个空文档,这很奇怪,因为我打开了Android Device Monitor,打开了给定文件并且它不是空的。

1 个答案:

答案 0 :(得分:0)

我发现了导致问题的原因。问题是我写道:

PdfView.fromFile(file) 

正确的形式是

PdfView.fromFile(file).load();

现在效果很好。感谢您的帮助并指出我犯的错误。这是我的第一个应用程序,并且我不时地与soms轻松的东西挣扎。