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

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 }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530825.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android页面跳转时获取地址栏,Android 利用scheme页面内跳转协议进行跳转

什么是 URL Scheme&#xff1f;android中的scheme是一种页面内跳转协议。通过定义自己的scheme协议&#xff0c;可以非常方便跳转app中的各个页面&#xff1b;通过scheme协议&#xff0c;服务器可以定制化告诉App跳转到APP内部页面。之前项目都是我们客户端和服务器端用自定义j…

android按钮置于顶层,如何把按键显示在最顶层窗口上(屏幕最顶上)

[Delphi] 纯文本查看 复制代码unit Unit2;interfaceusesWinapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs;typeTForm2 class(TForm)procedure FormCreate(Sender: TObject);private{ …

android signalr 自动重连,.net-何时在signalR中重新连接?

当客户端脱机然后不久后重新获得连接时&#xff0c;就会发生集线器重新连接。 SignalR配置值在很大程度上决定了以下示例的时间戳&#xff0c;因此无需逐字记录时间。以下是一些示例及其涉及重新连接行为的结果(时间格式&#xff1a;m&#xff1a;ss)&#xff1a;当我提到以下内…

自己写的android apk反编译,获取Android自己写好了的apk以及反编译

今天&#xff0c;我们先说一下&#xff0c;获取Android自带的apk以及反编译它们来学习Android工程师是怎样写的&#xff0c;今天我们就以拿到Android自带的短信管理器的apk为例子你可能有疑问&#xff0c;为什么要那么麻烦&#xff0c;从系统来拿&#xff0c;还要反编译&#x…

一加7pro系统更新android10,一加OnePlus7T Pro官方安卓10.0稳定版出厂系统固件升级更新包...

咱们的这个一加OnePlus7T Pro手机的最新稳定版系统包也是在这里来分享一下了&#xff0c;这个稳定版本的系统包是安卓10稳定版的&#xff0c;也是第一个版本的&#xff0c;系统包大小是3.2G&#xff0c;系统方面主要是全新的UI设计&#xff0c;轻快流畅操作体验&#xff0c;更多…

5元素升级android6,升级你的app以支持高长宽比的新旗舰

为了呈现更好的视觉效果&#xff0c;许多安卓OEM厂商都开始采用超大屏幕。三星刚刚发布了自己的新旗舰Samsung Galaxy S8&#xff0c;长宽比达到18.5:9。今年早些时候的全球移动大会上LG也亮相了 LG G6&#xff0c;屏幕长宽比达到了18:9。(左) maximum aspect ratio为16:9的app…

CCS太阳光准直系统使用积分球均匀光源

CCS太阳光准直系统的应用范围广泛&#xff0c;包括太阳光辐射测量、光学遥感仪器研制与标定、均匀光源的推广使用等方面。通过使用CCS太阳光准直系统&#xff0c;可以准确地模拟太阳光&#xff0c;并对各种光学仪器进行校准和标定&#xff0c;从而提高测量精度和稳定性。 CCS太…

js怎么制作html的主题,用HTML和CSS以及JS制作简单的网页菜单界面的代码

写ABROAD项目用到了标签这个东东&#xff0c;其实标签在WEB上到处可见&#xff0c;图中就依次显示了DCC文章发布器、ABROAD后台添加数据、百度图片搜索、sf发布博客文章时贴标签的样式——标签就像浏览器里原生的checkbox一样&#xff0c;不过checkbox实在太丑了&#xff0c;就…

登录界面转换实现html,HTML+CSS系列:登录界面实现

font-face{font-family:"iconfont";src:url(iconfont.eot?t1601708272399); /*IE9*/src:url(iconfont.eot?t1601708272399#iefix) format(embedded-opentype),/*IE6-IE8*/url(data:application/x-font-woff2;charsetutf-8;base64,d09GMgABAAAAAARUAAsAAAAACIAAAAQI…

html文档基本结构由哪三对,第3章 网页制作及HTML语言基本结构简介.ppt

第三章 网页制作与HTML语言基本结构简介 本章提要 静态网页与动态网页 Dreamweaver MX制作网页 HTML语言的基本结构 3.1网页制作概述 3.1.1静态网页与动态网页 1.静态网页 由超级文本标志语言HTML的标志代码构成&#xff1b; 用记事本、FrontPage、Dreamweaver、Fireworks可以制…

哔哩网站登录界面html代码,仿哔哩哔哩网页模板设计

【实例简介】【实例截图】【核心代码】bilibili├── Home.html├── Login.html├── Register.html├── css│ ├── bootstrap.min.css│ └── css.css├── forget the password.html├── img│ ├── 001.png│ ├── 002.png│ ├── 003.png│ …

2021高考成绩查询大连,2021年大连高考各高中成绩及本科升学率数据排名及分析...

一、大连高考各高中成绩及本科升学率数据2020年辽宁省普通高等学校招生文化课录取控制分数线普通类 文史特殊类型招生控制分数线&#xff1a;567分本科控制分数线&#xff1a;472分专科(高职、提前专科)控制分数线&#xff1a;150分普通类 理工特殊类型招生控制分数线&#x…

编写了html怎么测试,如何将测试结果写入HTMLTestRunner生成的报告标题中

HTMLTestRunner生成测试报告时&#xff0c;报告的标题在运行前就已经写死在代码了&#xff0c;假如我现在需要在执行完毕后&#xff0c;根据执行结果&#xff0c;把执行的状态写在标题里面&#xff0c;类似的效果如图&#xff1a;标题如果有一条执行错误的&#xff0c;就在后面…

计算机基本的应用是,计算机统考应用基础练习题

计算机统考应用基础练习题计算机统考就要来临&#xff0c;有哪些好的练习试题。下面是小编为您整理的关于计算机统考应用基础练习题的相关资料&#xff0c;欢迎阅读&#xff01;计算机安全的基本知识和概念1、下面最难防范的网络攻击是______。A、计算机病毒B、假冒C、修改数据…

编码 data text html c,谁说前端不需要懂二进制

作者&#xff1a;全栈成长之路 公号 / 山月行作为一名前端&#xff0c;在工作中也会遇到很多有关二进制处理的需求&#xff0c;如 EXCEL 表格的导出&#xff0c;PDF 的生成&#xff0c;多个文件的打包&#xff0c;音频的处理。从前后端整体上来说前端代表 UI 层&#xff0c;它的…

计算机动漫与游戏制作专业大学有哪些,西安铁道职业学校计算机动漫与游戏制作专业从事什么工作?...

西安铁道职业学校坐落于陕西省西安市灞桥区朝阳工业园&#xff0c;占地400余亩&#xff0c;总建筑面积30余万平方米&#xff0c;学校紧邻火箭军工程大学(二炮学院)。学校建有多功能轨道教学大楼、电子阅览室、轨道综合实训楼、室外轨道实训基地、乘务形体训练中心等先进教学设施…

小学四年级计算机制作月历教案,四年级上册信息技术教案-1制作月历|冀教版(5页)-原创力文档...

制作月历教学目标&#xff1a;1、认识Word&#xff0c;学会美化月历。2、锻炼学生协同合作解决问题的能力。3、培养学生探究问题的能力,在制作月历的过程中体验学习的乐趣。学情分析&#xff1a;本课主要任务是安排学生利用word文档制作一张月历&#xff0c;在此之前&#xff0…

计算机联用测定无机盐溶解热测试题,计算机联用测定无机盐溶解热

计算机联用测定无机盐溶解热计算机联用测定无机盐溶解热一 实验目的1. 用量热计测定KCl的积分溶解热。2. 掌握量热实验中温差校正方法以及与计算机联用测量溶解过程动态曲线的方法。二 实验原理盐类的溶解过程通常包含着两个同时进行的过程&#xff1a;晶格的破坏和离子的溶剂化…

通过微型计算机的电流,单板微型计算机控制的电流型变频调速系统

单板微型计算机控制的电流型变频调速系统介绍用8位单板微型计算机控制的电流型变频调速系统。系统利用软件实(本文共4页)阅读全文>>空间矢量脉宽调制(SVPWM)技术运用于变频调速系统具有直流电压利用率高,功率器件的开关损耗小,电流谐波抑制效果好等明显优势。本文给出了一…

初中计算机考试用什么软件,初中信息技术《PowerPoint软件》考过啥

教师资格考试的试题中&#xff0c;不会缺少办公软件的身影&#xff0c;而办公软件作为最重要的文字处理工具&#xff0c;都考过哪些题目呢?该如何学习呢?中公教师给您指引方向。一、考题集锦1.PowerPoint中&#xff0c;为了让海龟按图1所示路线运动&#xff0c;应采用的方法是…