1 public voidFillPdfTemplate(String id) {2 android.icu.text.SimpleDateFormat simpleDateFormat =

3 new android.icu.text.SimpleDateFormat("HHmmss");//HH:mm:ss4 //设置默认时区

5 simpleDateFormat.setTimeZone(android.icu.util.TimeZone.getTimeZone("GMT+8:00"));6 //获取当前时间

7 Date date2 = newDate(System.currentTimeMillis());8 String sim2 =simpleDateFormat.format(date2);9

10 String folderName_WaterImage = "WaterImage";11 String folderName_WaterDB = "WaterDB";12 String folderName_WaterPdf = "WaterPdf";13

14 File sdCardDir_PdfTemplate = newFile(Environment.getExternalStoragePublicDirectory(15 Environment.DIRECTORY_DOWNLOADS), folderName_WaterDB);16 File sdCardDir_WaterPdf = newFile(Environment.getExternalStorageDirectory(),17 folderName_WaterPdf);18

19 //模板路径

20 String templatePath = sdCardDir_PdfTemplate + "/" + "WaterTemplate.pdf";21 //生成的新文件路径

22 String newPDFPath = sdCardDir_WaterPdf + "/" +

23 mWaterInfo.SamplingDate + "_" + mWaterInfo.WellNumber + "_" + sim2 + ".pdf";24

25 /**

26 * 使用中文字体27 * 如果是利用 AcroFields填充值的不需要在程序中设置字体,在模板文件中设置字体为中文字体就行了28 */

29 BaseFont bf = null;30 try{31 bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);32 } catch(DocumentException e) {33 e.printStackTrace();34 } catch(IOException e) {35 e.printStackTrace();36 }37 Font FontChinese = new Font(bf, 12, Font.NORMAL);38

39 PdfReader reader;40 FileOutputStream out;41 ByteArrayOutputStream bos;42 PdfStamper stamper;43 try{44 out = new FileOutputStream(newPDFPath);//输出流

45 reader = new PdfReader(templatePath);//读取pdf模板

46 bos = newByteArrayOutputStream();47 stamper = newPdfStamper(reader, bos);48 AcroFields form =stamper.getAcroFields();49

50 String[] strDate = mWaterInfo.SamplingDate.split("-");51 String[] str ={52 mWaterInfo.WellNumber, mWaterInfo.Longitude + "," +mWaterInfo.Latitude,53 strDate[0], strDate[1], strDate[2], mWaterInfo.SamplingTime,54 mWaterInfo.SampleMethods, mWaterInfo.SampleDepth, mWaterInfo.Temperature,55 mWaterInfo.Weather, mWaterInfo.WaterLevel, mWaterInfo.WaterTemp1,56 mWaterInfo.ORP1, mWaterInfo.DO1, mWaterInfo.pH1, mWaterInfo.CT1, mWaterInfo.NTU1,57 mWaterInfo.Smell, mWaterInfo.Thing, mWaterInfo.Color, mWaterInfo.SamplingName,58 mWaterInfo.RecordingName};59

60 String[] it = newString[]{61 "Text1", "Text2", "Text3", "Text4", "Text5", "Text6", "Text7",62 "Text8", "Text9", "Text10", "Text11", "Text12", "Text13", "Text14", "Text15",63 "Text16", "Text17", "Text18", "Text19", "Text20", "Text21", "Text22",};64

65 for (int i = 0; i < 22; i++) {66 form.setFieldProperty(it[i], "textfont", bf, null);67 form.setField(it[i], str[i]);68 }69

70

71 stamper.setFormFlattening(true);//如果为false那么生成的PDF文件还能编辑,一定要设为true

72 stamper.close();73

74 Document doc = newDocument();75

76 PdfCopy copy = newPdfCopy(doc, out);77 doc.open();78 PdfImportedPage importPage =copy.getImportedPage(79 new PdfReader(bos.toByteArray()), 1);80 copy.addPage(importPage);81

82

83 File sdCardDir_WaterImage = newFile(Environment.getExternalStoragePublicDirectory(84 Environment.DIRECTORY_DOWNLOADS), folderName_WaterImage);85

86 String imagePath1 = sdCardDir_WaterImage + "/" + "Image" + id + "_1";87 String imagePath2 = sdCardDir_WaterImage + "/" + "Image" + id + "_2";88 //插入现场图片

89 Image image1 =Image.getInstance(imagePath1);90 doc.add(image1);91 Image image2 =Image.getInstance(imagePath2);92 doc.add(image2);93

94 doc.close();95

96 Toast.makeText(this, "导出pdf完成", Toast.LENGTH_LONG).show();97 } catch(IOException e) {98 System.out.println(1);99 } catch(BadPdfFormatException e) {100 e.printStackTrace();101 } catch(DocumentException e) {102 e.printStackTrace();103 }104 }

android程序更改pdf文件格式,Android根据pdf模板生成pdf文件相关推荐

  1. java pdf工具类_Java PDF工具类(一)| 使用 itextpdf 根据PDF模板生成PDF(文字和图片)...

    Java PDF工具类(一)| 使用 itextpdf 根据设置好的PDF模板填充PDF(文字和图片) 相关文章: Java PDF工具类(二)| 使用 wkhtmltox 实现 HTML转PDF(文 ...

  2. itext使用模板生成pdf文件

    用pdf模板生成pdf文档很简单,首先需要手动做个pdf模板,上面有很多的类似html里的text域的东西, 给他们起好名字,在程序里填充就可以了.虽然由于不会做模板(实际上由于短时间无法去熟悉使用A ...

  3. Java使用Adobe Acrobat DC根据PDF模板生成PDF文件

    制作模板 首先需要安装Adobe Acrobat DC来制作模板 打开dc工具-->准备表单,然后打开你需要制作的pdf源文件 将文本域拖到你需要代码替换的位置 你可以双击文本域修改当前文本域的 ...

  4. Java根据模板生成pdf文件并导出

    原文地址:http://blog.csdn.net/TOP__ONE/article/details/65442390 首先你的制作一个pdf模板: 1.先用word做出模板界面 2.文件另存为pdf ...

  5. java 字符串转pdf文件_java中根据模板生成pdf文件

    原标题:java中根据模板生成pdf文件 阅读目录 简介 业务需求 引入jar包 pdf模板文件与方法参数 代码部分 总结归纳 回到顶部 简介 本文使用java引入apach提供的pdf操作工具生成p ...

  6. java根据模板生成pdf文件并导出(iText)

    java根据模板生成pdf文件并导出 首先你的制作一个pdf模板: 1.先用word做出模板界面 2.文件另存为pdf格式文件 3.通过Adobe Acrobat pro软件打开刚刚用word转换成的 ...

  7. java按模板生成pdf_java中根据模板生成pdf文件

    简介 本文使用java引入apache提供的pdf操作工具生成pdf文件,主要是根据需求开发了一个util类,记录一下学习和开发过程. 业务需求 因为业务需要,对于不同的用户要生成一个不同的pdf文件 ...

  8. Flying-Saucer使用HTML或者FTL(Freemarker模板)生成PDF

    PDF导出工具有itext,但是itext对中文支持不好,还有样式CSS支持也不好,使用IReport比较复杂,上手不太容易,怎么办? 幸好有Flying-Saucer这个项目,帮助我们解决了以上问题 ...

  9. java 制作pdf模板,Java-pdf模板制作流程-使用pdf 模板生成pdf文件

    Java 使用pdf 模板生成pdf文件 --制作流程 1.      使用工具 adobe acrobat dc.word 2015 2.      使用 word 繪制一個 3*5 的表格並保存, ...

  10. java 模板生成PDF文件 复选框勾选

    java 模板生成PDF文件 复选框勾选 // pdf填充时要有第三个参数s.setField("A", On, true);

最新文章

  1. MVVM开发模式MVVM Light Toolkit中使用事件和参数传递
  2. 【怎样写代码】向现有类型“添加”方法 -- 扩展方法(一):扩展方法概述
  3. vs中列表分页符代码_电脑办公技巧Excel中Ctrl+K的使用技巧(十二)/Word2016中快速删除分页符与空白页的方法...
  4. OJ1010: 求圆的周长和面积
  5. MyBatis 源码自我解读
  6. Python编码风格
  7. 常用算法之-快速排序
  8. idea注册账号_【Meta分析】Meta分析该不该注册?如何注册?什么时候注册?
  9. java创新创业比赛项目教程_基于JavaWeb的计算机创新创业平台的功能设计与实现...
  10. 点割集、边割集、点连通度、边连通度
  11. 大公司都在用的招聘分析模型,会EXCEL就行,白嫖党不要错过
  12. vue3实现tags
  13. 小学计算机京剧脸谱教案,小学脸谱教案
  14. 排队叫号医院管理源码
  15. leetcode:雪糕的最大数量
  16. tableau高级绘图(四)-tableau绘制蜡烛图
  17. SLG网页游戏开发摘记
  18. 系统架构师(十四)信息系统
  19. linux系统编程:系统函数system
  20. 侦探推理小程序,烧脑小程序源码

热门文章

  1. java 迷你桌面地图_求教贴,Java桌面小游戏的地图怎么做
  2. Canal 1.1.5 启动报错:caching_sha2_password Auth failed
  3. RuoYi-Vue 部署 Linux环境 若依前后端分离项目(war 包+nginx版本)
  4. linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(静默创建实例_08)
  5. vue控制元素的隐藏和显示
  6. 使用hbuilder的maps模块调起百度地图导航
  7. redis 公网 安全_redis漏洞复现
  8. 四个变量的图表怎么做_品牌策划方案怎么做?5步图文帮你绘制专业策划图表...
  9. java 静态方法_80后程序员,教你学Java核心技术:用户自定义类+静态域静态方法
  10. binlog日志_mysql 重要日志文件总结