android - java.io.exception 这可能不是 PDF 文件

标签 android pdf

我正在编写 Android 应用程序并尝试将 PDF 文件转换为图像。 我正在使用图书馆 pdfviewerlibrary .这是我的代码的开头:

File f = new File(Environment.getExternalStorageDirectory().getPath()+"/manual.pdf");
long len = f.length();
RandomAccessFile raf = new RandomAccessFile(f, "r");
FileChannel channel = raf.getChannel();
ByteBuffer bb = ByteBuffer.NEW(channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size()));
PDFFile mPdfFile = new PDFFile(bb);

问题是,当我创建新的 PDFFile 时,它会抛出异常

java.io.exception this may not be a PDF file.

显然 manual.pdf 是一个 PDF 文件,但是当我检查 length 时它显示为 0,我知道它不应该...

我不知道该怎么办,有人遇到过同样的问题吗??

最佳答案

要解决此问题,请删除文件名前的斜杠。代码将是:

File f = new File(Environment.getExternalStorageDirectory().getPath()+"manual.pdf");
long len = f.length();
RandomAccessFile raf = new RandomAccessFile(f, "r");
FileChannel channel = raf.getChannel();
ByteBuffer bb = ByteBuffer.NEW(channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size()));
PDFFile mPdfFile = new PDFFile(bb);

关于android - java.io.exception 这可能不是 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22126631/

相关文章:

pdf - OCR 如何在 Google Drive 中工作?

android - Appcelerator Ti.map 选中的标注图片

android dialogFragment "sometimes"不显示 webview

java - 安卓-ListView : Checkboxes not staying checked

Android/SQLite - 跨多列的不同计数

java - 如何在 iText 中从 pdf 的第一页创建图像

c++ - 如何在 C++(无 .NET)中将 PDF 转换为位图(栅格化)

android - 致命异常 : java. lang.IllegalStateException:保存状态失败: Activity fragment 已从 FragmentManager 中删除

java - 如何使用开源java库正确地将DOCM转换为PDF?

c# - 在新浏览器选项卡中查看 PDF 文档