【发布时间】:2013-12-10 08:34:50
【问题描述】:
我正在使用 PDFViewer.jar 通过我的应用阅读 pdf。
应用程序无法成功读取 pdf,我收到此异常:
12-10 09:47:25.700: W/System.err(15665): java.io.IOException: This may not be a PDF File
12-10 09:47:25.710: W/System.err(15665): at com.sun.pdfview.PDFFile.parseFile(PDFFile.java:1395)
12-10 09:47:25.710: W/System.err(15665): at com.sun.pdfview.PDFFile.<init>(PDFFile.java:140)
12-10 09:47:25.710: W/System.err(15665): at com.sun.pdfview.PDFFile.<init>(PDFFile.java:116)
12-10 09:47:25.710: W/System.err(15665): at com.proxycensus.mysharesUK.PdfViewerActivity.openFile(PdfViewerActivity.java:851)
12-10 09:47:25.710: W/System.err(15665): at com.proxycensus.mysharesUK.PdfViewerActivity.parsePDF(PdfViewerActivity.java:815)
12-10 09:47:25.710: W/System.err(15665): at com.proxycensus.mysharesUK.PdfViewerActivity.setContent(PdfViewerActivity.java:217)
12-10 09:47:25.710: W/System.err(15665): at com.proxycensus.mysharesUK.PdfViewerActivity.onCreate(PdfViewerActivity.java:208)
12-10 09:47:25.710: W/System.err(15665): at com.proxycensus.mysharesUK.ObjActivity.onCreate(ObjActivity.java:23)
12-10 09:47:25.710: W/System.err(15665): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
12-10 09:47:25.710: W/System.err(15665): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1782)
12-10 09:47:25.710: W/System.err(15665): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1834)
12-10 09:47:25.710: W/System.err(15665): at android.app.ActivityThread.access$500(ActivityThread.java:122)
12-10 09:47:25.710: W/System.err(15665): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1027)
12-10 09:47:25.710: W/System.err(15665): at android.os.Handler.dispatchMessage(Handler.java:99)
12-10 09:47:25.710: W/System.err(15665): at android.os.Looper.loop(Looper.java:132)
12-10 09:47:25.710: W/System.err(15665): at android.app.ActivityThread.main(ActivityThread.java:4126)
12-10 09:47:25.710: W/System.err(15665): at java.lang.reflect.Method.invokeNative(Native Method)
12-10 09:47:25.710: W/System.err(15665): at java.lang.reflect.Method.invoke(Method.java:491)
12-10 09:47:25.710: W/System.err(15665): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
12-10 09:47:25.710: W/System.err(15665): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
12-10 09:47:25.710: W/System.err(15665): at dalvik.system.NativeStart.main(Native Method)
代码:
public void openFile(File file, String password) throws IOException {
// first open the file for random access
RandomAccessFile raf = new RandomAccessFile(file, "r");
// extract a file channel
FileChannel channel = raf.getChannel();
// now memory-map a byte-buffer
ByteBuffer bb =
ByteBuffer.NEW(channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size()));
// create a PDFFile from the data
if (password == null)
mPdfFile = new PDFFile(bb);
else
mPdfFile = new PDFFile(bb, new PDFPassword(password));
mGraphView.showText("CLHed:" + mPdfFile.getNumPages());
}
我得到的路径:
12-10 10:03:27.550: E/ObjActivity(16090): path =/data/data/com.proxycensus.mysharesUK/files/05bf2f15-5b08-4014-882a-c0157faa79b9-myshares-doc.pdf
我无法访问 jar,因此我可以检查是哪一行导致了问题。谁能帮我?有没有人面临同样的问题?谢谢
【问题讨论】:
-
你能贴出阅读pdf的代码吗,错误是说这可能不是pdf文件,你注意到了吗
-
我编辑了我的问题,你能再检查一下吗?
-
您是要创建 pdf 文件还是要阅读它?
-
Manifest 中是否设置了从外部卡读取的权限
-
我正在尝试从缓存中读取 12-10 10:03:27.550: E/ObjActivity(16090): path =/data/data/com.proxycensus.mysharesUK/files/05bf2f15-5b08 -4014-882a-c0157faa79b9-myshares-doc.pdf
标签: android pdf pdf-viewer