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 }
android手机生成pdf格式文件,Android根据pdf模板生成pdf文件相关推荐
- windows读取android手机内容,Win10 PC到Android手机共享内容的技巧
最近推出的Your Phone应用程序在很短的时间内在Windows 10用户中获得了极大的欢迎.用户可以直接使用他们的桌面访问存储在手机内存中的消息和照片.好消息是,您现在可以将Windows 10 ...
- Android 手机录制wav格式音频文件实现
上一篇文章已经实现了在Android手机上使用MediaRecorder录音,但是后期在处理这些音频文件的时候发现3gp格式的音频不大方便处理,使用wav格式的音频处理起来更方便一些! 这里需要用到A ...
- android 手机支持什么格式的视频格式,手机高清小普及:手机支持那些视频格式?...
背景 虽然在2010年众多的手机厂商都推出了他们的高清手机,可是由于手机的硬件以及操作系统的限制,因此并不是所有的高清格式都能够在目前市面上那些支持高清播放的手机中播放.那么如果大家想要在手机上欣赏高 ...
- android手机界面管理系统的设计与实现(硕士学位论文).pdf,基于Android系统的手机文件管理器的设计与实现...
摘要: 在移动终端技术不断发展的今天,智能手机支持的业务也越来越丰富,已经从简单的通话工具发展成为集PDA,互动游戏,高分辨率摄像,移动视听于一体的全功能通讯,数据处理工具,其操作系统平台也从最初的L ...
- android qq邮箱格式,android手机怎么使用QQ邮箱 android QQ邮箱设置流程图解
大家在使用android手机时都发现,其邮箱功能是十分强大的,实时接收邮件,并有通知提醒,像看短信似的.这样方便的邮箱功能是每个邮箱使用者的福音.但是邮箱有那么多种,android手机上默认的是使用g ...
- android手机icoude邮件,如何在Android设备上访问Apple应用和数据?教程来了!
原标题:如何在Android设备上访问Apple应用和数据?教程来了! 对于一些出于工作原因,拥有ios和Android不同系统手机的人来说,有时候会觉得在共享资料或数据上会比较麻烦.但是,其实并非如 ...
- mac android手机调试,mac os开发android应用通过usb真机调试
当前开发用的ari,sublime + webstrom 开发node.js还比较流畅,还没有出现被堵被坑的局面. 尝试开发android应用时,各种坑,其中一个比较深的坑就是今天要和大家分享的. m ...
- mac android手机调试,mac 无法连接android手机进行调试 解决方案
查看usb设备信息 system_profiler SPUSBDataType Android: Product ID: 0x1052 Vendor ID: 0x12d1 (Huawei Techn ...
- android 手机找回密码,如何使用android手机找回以前使用的无线密码
Android系统的系统文件夹会记录下曾经使用过的wifi账号和密码,安装RE管理器,在手机获得Root权限后就能在"data/misc/wifi"目录下找到"wpa_s ...
- xsd文件转图片_图片转换成PDF格式怎么转?图片转换成PDF的软件哪个好?
图片转换成PDF格式怎么转?经验丰富的设计师在完成图片格式的设计作品后都会将图片转成PDF格式文件,这样方便保存以及参加一些设计比赛.同时我们在保存大量图片的时候也可以将图片转换成PDF文件.但是还有 ...
最新文章
- 上海交大发布 MedMNIST 医学图像分析数据集 新基准
- Camtasia 6录屏时鼠标闪烁问题解决
- PoE供电中功率损耗问题
- Python爬虫(六)_Requests的使用
- PetShop4,错误提示:System.Web.Security.SqlMembershipProvider”要求一个与架构版本“1”兼容的数据...
- MyBatis 实际使用案例-typeHandlers【重点】
- oracletns中不存在名称为_oracle tnsname.ora中的SERVICE_NAME 代表实例的名称还是代表全局数据库的名称?...
- 递归优化的这三种方式你知道吗?
- 人工智能时代,我们需要什么样的芯片?| 码书
- SMS模型格网转换为MIKE21的格网源代码
- Java Response实现文件下载
- 3ds max软件如何彻底卸载干净
- 《自卑与超越》的优秀读后感作文4000字
- 肠道微生物会导致你变胖吗?
- 亚马逊的人工智能Alexa竟然独自大笑 笑声很吓人(附视频)
- 2022年6月的顶级黑客
- oracle收集snop,SNAP收集服务器信息
- 【JVM学习篇】剖析JVM类加载机制
- vue watch监听中 immediate, deep, hander的作用
- Linux系统设置用户复杂密码规则的方法
热门文章
- mysql grep 提取错误日志_详解grep获取MySQL错误日志信息的方法
- 根据 HTML 规范,以下代码中,外层容器 .outer 的宽高分别是:
- 去小公司了解哪些工具?
- 多线程写mysql数据库_多线程读写mysql数据库
- sql显示前10行数据_SPL 简化 SQL 案例详解:计算各组前 N 行
- transform限制position:fixed的跟随效果
- 美团点评云真机平台实践
- 笔记 — 动画效果(Css3)
- mongoose中的populate之多级填充,嵌套字段填充?
- MySQL中查询获取每个班级成绩前三名的学生信息