我使用mupdf示例用于android,我稍微修改了MupdfActivity的源代码:
public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mAlertBuilder = new AlertDialog.Builder(this); if (core == null) { core = (MuPdfcore)getLastNonConfigurationInstance(); if (savedInstanceState != null && savedInstanceState.containsKey("filename")) { mfilename = savedInstanceState.getString("filename"); } } if (core == null) { Intent intent = getIntent(); byte buffer[] = null; if (Intent.ACTION_VIEW.equals(intent.getAction())) { Uri uri = intent.getData(); try { inputStream inputStream = new fileinputStream(new file(uri.toString())); int len = inputStream.available(); buffer = new byte[len]; inputStream.read(buffer,len); inputStream.close(); } catch (Exception e) { Log.e(TAG,e.getMessage()); } if (buffer != null) { core = openBuffer(buffer); } else { core = openfile(Uri.decode(uri.getEncodedpath())); } SearchTaskResult.set(null); }
活动的openBuffer()方法尚未更改:
private MuPdfcore openBuffer(byte buffer[]) { System.out.println("Trying to open byte buffer"); try { core = new MuPdfcore(this,buffer); // New file: drop the old outline data OutlineActivityData.set(null); } catch (Exception e) { System.out.println(e); return null; } return core;}
在我尝试打开任何pdf后,应用程序会显示警告,并显示消息“无法打开文档”.这是日志:
03-21 10:43:14.754 3601-3601/com.artifex.mupdfdemo.deBUG E/libmupdf﹕ opening document...03-21 10:43:14.754 3601-3601/com.artifex.mupdfdemo.deBUG E/libmupdf﹕ error: No document handlers registered03-21 10:43:14.754 3601-3601/com.artifex.mupdfdemo.deBUG E/libmupdf﹕ error: Cannot open memory document03-21 10:43:14.754 3601-3601/com.artifex.mupdfdemo.deBUG E/libmupdf﹕ Failed: Cannot open memory document
那么,是否有任何方法可以将pdf文件作为字节数组打开,这是什么方式?
解决方法 我的猜测是你使用的是一个早于主库文件版本的androID jni文件mupdf.c.库API发生了变化,需要在创建上下文和调用fz_open_document之间调用fz_register_document_handlers(ctx).您看到的第一条错误消息表明未调用fz_register_document_handlers 总结以上是内存溢出为你收集整理的android – mupdf:如何用openBuffer方法打开pdf文件?全部内容,希望文章能够帮你解决android – mupdf:如何用openBuffer方法打开pdf文件?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)