当前位置: 首页 > news >正文

外贸网站建站k学做软件的网站

外贸网站建站k,学做软件的网站,物业管理系统app,wordpress角色权限目录 目录 一、准备环境 二、iTextPDF介绍 三、步骤 四、访问查看结果 五、源代码参考 一、准备环境 ①下载一个万兴pdf软件 ②准备一个pdf 文件 二、iTextPDF介绍 这是一个用于生成PDF文档的Java库#xff0c; 文档创建与修改#xff1a;iTextPDF能够从零开始创建…目录 目录 一、准备环境 二、iTextPDF介绍 三、步骤 四、访问查看结果 五、源代码参考 一、准备环境 ①下载一个万兴pdf软件 ②准备一个pdf 文件 二、iTextPDF介绍 这是一个用于生成PDF文档的Java库 文档创建与修改iTextPDF能够从零开始创建PDF文档也可以读取已有的PDF文件并对其中的内容进行修改如添加、删除或更新页面内容。 文本与图像插入可以在PDF文档中插入文本、图片、图表等内容。 表格制作支持复杂表格的创建和填充包括单元格合并、样式设定等。 表单填写与交互支持创建和填充交互式PDF表单包括文本字段、复选框、列表框等并且可以对表单域进行读写操作。 数字签名提供对PDF文档进行数字签名的支持确保文档的安全性和完整性。 水印与书签可以添加文档级别的水印和页眉/页脚以及创建和编辑PDF书签结构。 PDF拆分与合并iTextPDF可以用来拆分现有的PDF文件或合并多个PDF文档为一个单一文件。 PDF/A合规性支持生成符合PDF/A标准的文档这种格式特别适合长期保存和归档。 iTextPDF历经多个版本迭代最新的iText 7系列采用了全新的API设计提高了性能和灵活性。同时iText也提供了针对.NET平台的版本(iTextSharp)以及其他多种语言的绑定满足不同开发者的需求。 三、步骤 将pdf以万兴pdf形式打开点击表单然后点击添加文本域 在下方添加相应的文本域相当于前端表单的name属性后端填充数据的时候要调用文本域文中的name和tel。 将这个文件保存后复制到此文件夹下 引入依赖 dependencygroupIdcom.itextpdf/groupIdartifactIditext7-core/artifactIdversion7.2.5/versiontypepom/type/dependency代码 package com.by.controller;import com.itextpdf.forms.PdfAcroForm; import com.itextpdf.forms.fields.PdfFormField; import com.itextpdf.kernel.font.PdfFont; import com.itextpdf.kernel.font.PdfFontFactory; import com.itextpdf.kernel.geom.PageSize; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfReader; import com.itextpdf.kernel.pdf.PdfWriter; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.util.ResourceUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletResponse; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Optional;/*** 控制器类用于处理PDF模板填充及下载请求*/ RestController public class PdfController {/*** 处理GET请求以下载填充了数据的PDF文件* param response HttpServletResponse对象用于设置响应头和发送下载文件* return 响应实体包含填充好数据的PDF字节流* throws IOException 如果读取或写入PDF文件时发生异常*/GetMapping(/download)public ResponseEntitybyte[] test(HttpServletResponse response) throws IOException {// 设置响应头指示浏览器以附件形式下载文件并设置文件名HttpHeaders headers new HttpHeaders();headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);String downloadFileName System.currentTimeMillis() .pdf;response.setHeader(Content-Disposition, attachment;filename downloadFileName);/*** 准备需要填充到PDF模板中的数据* 其中name和tel为pdf中插入模板的表单数据*/MapString, String dataMap new HashMap();dataMap.put(name, 张三);dataMap.put(tel, 17550635678);// 填充数据并生成带数据的PDF字节流byte[] pdfBytes getPdf(dataMap);// 创建并返回包含填充后PDF字节流的响应实体return new ResponseEntity(pdfBytes, headers, HttpStatus.CREATED);}/*** 根据提供的数据填充PDF模板并返回填充后的PDF字节流** param dataMap 需要填充到PDF模板中的键值对数据* return 填充好数据的PDF文件字节数组* throws IOException 如果读取或写入PDF文件时发生异常*/private byte[] getPdf(MapString, String dataMap) throws IOException {// 获取PDF模板文件路径String sourcePdf ResourceUtils.getURL(classpath:).getPath() /templates/2.pdf;// 使用PDF阅读器加载模板文件PdfReader pdfReader new PdfReader(new FileInputStream(sourcePdf));// 创建一个内存输出流用于存储填充好数据的PDF文件ByteArrayOutputStream outputStream new ByteArrayOutputStream();// 创建PDF文档对象连接读取器和输出流PdfDocument pdf new PdfDocument(pdfReader, new PdfWriter(outputStream));// 设置默认页面大小为A4pdf.setDefaultPageSize(PageSize.A4);// 获取PDF表单域对象PdfAcroForm form PdfAcroForm.getAcroForm(pdf, true);MapString, PdfFormField fields form.getFormFields();// 设置字体这里使用的是STSong-Light字体PdfFont currentFont PdfFontFactory.createFont(STSong-Light, UniGB-UCS2-H, PdfFontFactory.EmbeddingStrategy.PREFER_NOT_EMBEDDED);// 遍历待填充的数据并将其填入对应的表单域dataMap.forEach((key, value) - {OptionalPdfFormField formFieldOptional Optional.ofNullable(fields.get(key));formFieldOptional.ifPresent(formField - {// 设置字体并替换表单域的值formField.setFont(currentFont).setValue(value);});});// 锁定并合并所有表单域使其无法再编辑form.flattenFields();// 关闭PDF文档释放资源pdf.close();// 将填充好的PDF文件转换为字节数组并返回return outputStream.toByteArray();} }四、访问查看结果 http://localhost:8080/download 五、源代码参考 https://codeup.aliyun.com/62858d45487c500c27f5aab5/huang-spring-boot-pdf.git
http://www.pierceye.com/news/170525/

相关文章:

  • wordpress站点版权设置晋中建设集团网站
  • 怎么夸一个网站做的好看烟台百度网站推广
  • 佛山市网站建设分站多少钱企业门户账号是什么
  • 大中型网站开发价格铜山区建设局局网站周保春
  • 为什么有人做商城优惠券网站卖科技风格设计网站
  • 企业网站的需求分析是做网站编辑还是做平面设计
  • 超酷 flash 网站淮南网红餐厅
  • 湛江网站建设开发株洲关键词seo优化服务商
  • 女的有没有做网站的十大经典随身空间小说推荐
  • 江西做网站哪家好监理证查询网
  • 北京驾校网站建设网络哪里能接活做网站
  • 建设网站公司排名西宁网站建设优化案例
  • 外贸网站推广有用吗网络服务投诉平台
  • 网站制作价上传下载网站模板
  • 注册网站会员 我们的信息淘宝上可以做网站吗
  • 建筑材料价格查询网站做网站从哪方面入门
  • 百度百科网站怎么做360优化大师app下载
  • 那些网站用不着做优化个人网站设计案例
  • wordpress怎么釆集文章杭州seo百度关键词排名推广
  • 网站地址解析做好系部宣传和网站建设
  • 单页网站建设做淘宝优惠网站步骤
  • apache建立多个网站仿卢松松博客网站源码
  • 婚恋网站上海网络推广需要多少钱
  • 网站建设规划方案ppt模板wap浏览器安卓版
  • 网站关键词优化教程成都展厅设计公司
  • 百度网站排名软件怎么做网站竞价
  • 设计素材网站校园二手市场网站建设
  • 电子产品网站设计asp做微网站
  • 网站内部优化建设温州 网站制作
  • 怎么自己做网站地图网站涉及敏感视频等该怎么做