android 生成pdf文件
16lz
2021-01-26
由于项目需要将获取的数据文件导出为pdf文件格式,以前也没用过,毫无头绪,只能网上参考意见,找来找去,根据自己的测试,总算基本实现了文件的导出。
主要还是用到iText来生成的。我用的是itext-5.0.2.jar 和iTextAsian.jar(导出中文的支持包)。
下面给个测试代码
public void onClick(View v) { Document document = new Document(PageSize.A4); FileOutputStream fos; try {
//创建要导出的文件路径和文件名 File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "test.pdf");
//获取文件输出流 fos = new FileOutputStream(file); PdfWriter.getInstance(document, fos); BaseFont bfChinese = null; try { bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //com.itextpdf.text.pdf.fonts Font fontChinese = new Font(bfChinese, 20, Font.BOLD); document.open(); document.setPageCount(TRIM_MEMORY_MODERATE); document.addCreationDate(); document.addCreator("助手"); Paragraph paragraph = new Paragraph("this is my first android create PDF!,我是中国人",fontChinese); document.add(paragraph); document.close(); System.out.println("PDF文档已经建立! "); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } } });
期间出现的问题主要有两个:
1、找不到Document这个类,导致的原因是包的路径没有建立好。我一般jar包都是直接复制到libs文件夹里,那样工程就会自动生产路径。
2、导出中文,虽然网上找到itextAsian.jar这个包,但是和有些itext版本不匹配的。会导致识别不了字体样式。
更多相关文章
- 查看ANR日志
- arcGis for android 学习之callOut
- android studio dependencies依赖的库(jar包)的存储位置
- 【Android】安卓布局文件中xmlns属性
- BlobCache算法详解
- Android实现Service下载文件,Notification显示下载进度的示例
- cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法
- 获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图
- Android+OpenCV4开发(一)——Android(安卓)NDK开发环境配置(生成C