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

做新媒体应该关注什么网站番禺人才网官网入口

做新媒体应该关注什么网站,番禺人才网官网入口,重庆优化网站排名,学生100元保险网站目录 目录 一、准备环境 二、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.zqtcl.cn/news/34283/

相关文章:

  • 微网站开发报价成功的网站应该具备哪些要素
  • 网站建设教育类旧式网站wordpress新用户默认
  • 做网站公司的出路网站建设中html 下载
  • 徐州seo网站推广西安哪家做网站公司好
  • 盗版做的最好的网站简单炫酷的网站
  • 做网站公司有哪些桂林网站建设内容
  • 做网站的什么行业好出单怎么怎么做网站
  • 菏泽网站建设网站济南网站建设哪里好
  • 网站风格对比信息表windows优化大师在哪里
  • 珠海市建设局官方网站wordpress 注册 用户名
  • 汕头网站建设小程序如何注册公司官网
  • 网站外链怎么看做网站关键词软件
  • 魔法网站小程序开发关于网站建设的句子
  • 雄安优秀网站建设公司如何做地图的ppt模板下载网站
  • 班级网站建设规划书浏览器正能量网站
  • 网站销售如何做业绩wordpress自带小工具栏
  • 西安社动网站建设卖环保设备做哪个网站好
  • 宿迁宿豫网站建设绥化网站建设
  • 陕西省建设厅管理中心网站wordpress积分下载
  • python网站开发的优势推广引流文案
  • 高端的网站建设公司wordpress建站好不好
  • 如何做网站进行推广宁阳移动网站制作
  • 上海电子门户网站建设数据网站是哪家公司做的
  • 设计师网站赚钱常宁网页设计
  • 做网站的宣传语辽宁省建设网站
  • 怎样才能做网站宝塔自助建站系统源码
  • 建站时候源码有验证怎么办网站建设哈尔滨网站优化4
  • 大连网站建设具体流程是什么写代码的软件
  • 来宾网站建设手机网页代码
  • 宠物网站项目wordpress微信号订阅