我在使用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,打开了给定文件并且它不是空的。
答案 0 :(得分:0)
我发现了导致问题的原因。问题是我写道:
PdfView.fromFile(file)
正确的形式是
PdfView.fromFile(file).load();
现在效果很好。感谢您的帮助并指出我犯的错误。这是我的第一个应用程序,并且我不时地与soms轻松的东西挣扎。