Android显示PDF文件之iText
来源:互联网 发布:牵丝戏mmd动作数据 编辑:程序博客网 时间:2024/06/05 06:00
Android显示PDF文件
最近由于项目需要,大致了解了一下关于如何在Android端显示PDF文件的内容,因此在这里进行一下小小的总结,方便今后开发。我目前了解到并成功实现的有三种开源框架分别是:Android PdfViewer、MUpdf以及iText,
- Android PdfViewer
-MUpdf
- iText
其中Android PdfViewer、MUpdf是显示PDF文件中所有文件,而iText则主要是方便用于解析PDF文件中的文本信息,这里主要介绍的是解析与写入PDF文本信息第三方开源框架iText的使用方法:
jar包及源码在文末:
直接将jar包拷入工程目录即可
添加完成后就可以直接使用了,下面直接给代码。
/** * 读取Pdf文件的内容 * @param path :文件地址 */ public String readPdfContent(String path){ String content = ""; File file = new File(path); if (file.exists()){ try { PdfReader pr = new PdfReader(path); int page = pr.getNumberOfPages(); for(int i = 1 ;i<page+1;i++){ //遍历页码,读取Pdf文件内容 content += PdfTextExtractor.getTextFromPage(pr, i); } } catch (IOException e) { e.printStackTrace(); } }else { Toast.makeText(MainActivity.this,"文件不存在!",Toast.LENGTH_SHORT).show(); } return content; }
/** * 写入PDF内容 */ public void writePdfContent(final String path, final String content){ //因为是耗时操作所以要在子线程中进行 new Thread(){ @Override public void run() { super.run(); Document doc = new Document();//创建一个document对象 FileOutputStream fos; try { fos = new FileOutputStream(new File(path)); //pdf_address为Pdf文件保存到sd卡的路径 PdfWriter.getInstance(doc, fos); doc.open(); doc.setPageCount(1); doc.add(new Paragraph(content, setChineseFont())); //result为保存的字符串 ,setChineseFont()为pdf字体 // 一定要记得关闭document对象 doc.close(); fos.flush(); fos.close(); handler.sendEmptyMessage(123);//操作完毕后进行提醒 } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }.start(); }
/** * 设置PDF字体(较为耗时) */ public Font setChineseFont() { BaseFont bf = null; Font fontChinese = null; try { // STSong-Light : Adobe的字体 // UniGB-UCS2-H : pdf 字体 bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); fontChinese = new Font(bf, 12, Font.NORMAL); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return fontChinese; }
记得添加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
如果系统是Android6.0版本以上的话不要忘了获取动态权限,附带获取动态权限代码:
参考文章:http://blog.csdn.net/xuwenneng/article/details/52995392
这里是我自己的源码下载地址:
http://download.csdn.net/detail/buddy_ling/9913920
阅读全文
0 0
- Android显示PDF文件之iText
- iText:iText构造PDF文件
- Android使用iText生成pdf文件并读取pdf内容
- pdf文件加密(iText)
- IText构造PDF文件
- IText构造PDF文件
- Itext生成PDF文件
- ITEXT 操作 PDF 文件
- Itext 导出pdf文件
- Android显示PDF文件之PDFviewer
- 导出pdf之--itext
- android 显示 PDF 文件
- android 显示 PDF 文件
- android下用itext修改pdf模板文件
- 用iText生成PDF文件
- 使用iText输出PDF文件
- 使用iText操作pdf文件
- 使用iText操作pdf文件
- java 实现某个功能的思路
- 用数组模拟邻接表 hdu2647
- Spring 整合 Redis
- 欢迎使用CSDN-markdown编辑器
- PDF编辑技巧4:删除水印、编辑图片和文字
- Android显示PDF文件之iText
- java.lang.UnsatisfiedLinkError 问题
- 物联网在消费领域为什么发展缓慢
- 量化策略
- 从0到1开启web前端学习之旅五
- 最近Docker淫威太盛,看我怎么扁它!
- 【C语言】动态顺序表的实现
- 手机空间不足?教你2招省5G空间
- 2017年多校联训2 部分题解