合肥专业网站优化哪家好阿里云网站备案拍照

news/2025/9/23 7:35:59/文章来源:
合肥专业网站优化哪家好,阿里云网站备案拍照,盐城公司做网站,桂林论坛网站建设目录 目录 一、准备环境 二、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.mzph.cn/news/911792.shtml

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

相关文章

空间建设网站jquery 选择 网站

要保证 Redis 中存储的 20w 数据都是热点数据,可以从数据筛选和数据淘汰两个大的方面来考虑,以下是详细的实现思路和方法: 数据筛选 1. 基于业务规则 分析业务场景:不同的业务场景有不同的热点数据特征。例如,在电商…

网站一般的后台网站调用wordpress

String(字符串) 简介:String 是 Redis 最基础的数据结构类型,它是二进制安全的,可以存储图片或者序列化的对象,值最大存储为 512M简单使用举例: set key value、get key等应用场景:共享 session、分布式锁…

有投标功能的网站怎么做wordpress代码增强插件下载

Global navigation satellite system (GNSS)是手机或者无人车定位中的关键一个部分。GNSS是当前主要的可以提供绝对定位信息的一种信息来源。无人车的基于地图匹配定位的这一个部分中,GNSS经常用来提供初始化。就目前来看,GNSS的定位方式主要包括单点定位…

深圳专业营销网站公司公司网站维护怎么维护

需求: 假设当前有一个短信服务是多节点集群部署,我们希望每个服务节点在启动时能将服务信息"注册"到redis缓存中,所有服务节点每隔3分钟上报一次,表示当前服务可用。每个服务还会作为哨兵节点每隔10分钟查询一次redis&a…

手机搭建网站软件下载西安网站制作顶

在本文中,为了实现高效的信息抽取,我们采用了一个自主研发的多模态AI的大模型NLP平台。 这个平台的使用过程分为以下几个步骤: 数据收集:我们收集了与项目相关的100条数据样本,这些样本涵盖了各种商品描述&#xff0c…

2014网站设计域名注册后怎么使用

这篇设计文档是 12 月份写来参加公司的研发峰会的,自己倒是信心满满,不过最后还是没有入围。现在想想也没啥大用,所以贴出来,期待与园友交流。 文档有点长,没全部贴在博客中,有兴趣的可以下载附件中的 PDF。…

网站权重划分查找网站备案

一、自定义部件库 原则上尽量做到前后端分离,接口方便,复制简单。 1、单选框部件 # encoding: utf-8 ################################################### # 自定义的单选框 #################################################### 对外…

美妆网站怎么做鞍山做网站企业

如果把大模型训练比作 F1 比赛,长凡所在的团队就是造车的人,也是在比赛现场给赛车换轮子的人。1% 的训练提速,或者几秒之差的故障恢复时间,累积起来,都能影响到几百万的成本。长凡说:“大模型起来的时候&am…

网站建设所需网络营销是做什么

文章目录 260. 只出现一次的数字 III(字典 / 位运算)136. 只出现一次的数字(字典)137. 只出现一次的数字 II(字典)169. 求众数(字典)229. 求众数 II(字典)200…

做网站的公司 杭州如何创建一个网址

目录 ACM金牌带你零基础直达C语言精通-课程资料 一.作用域的基本概念 二.函数 1. 函数的定义和使用 2.为什么一定要有函数结构 3.形参与实参 4.函数的声明和定义 5.递归函数 此代码中递归函数执行流程: 练习:求斐波那契数列第n项的值: 欧几里…

个人动漫网站怎么做页面农村小工厂暴利

文章目录 [toc]试题编号试题名称时间限制内存限制题目背景问题描述输入格式输出格式样例输入样例输出样例说明子任务提示Python实现 试题编号 202305-1 试题名称 重复局面 时间限制 1.0s 内存限制 512.0MB 题目背景 国际象棋在对局时,同一局面连续或间断出现3次或3…

道滘东莞微信网站建设旅游网站优化方案

点击 <C 语言编程核心突破> 快速C语言入门 itoa函数的局限以及实现 前言一、功能描述二、具体实现对于第一版, 实现如下:第二版实现:测试用例: 总结 前言 把一个数用某种进制打印, 是一个很有用的功能, 值得庆幸的是, C语言有这么一个函数itoa(), 它可以把一个数转换为…

具身智能机器人架构:人形机器人系统架构深度拆解

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 35469554100490871 人形机器人市场规模多家咨询公司预测,2030-2033年间人形机器人的…

怎么查找网站死链指数函数和对数函数

分布式锁概念 在多线程环境下&#xff0c;为了保证数据的线程安全&#xff0c;锁保证同一时刻&#xff0c;只有一个可以访问和更新共享数据。在单机系统我们可以使用 synchronized 锁、Lock 锁保证线程安全。 synchronized 锁是 Java 提供的一种内置锁&#xff0c;在单个 JVM …

网站国内空间和国外空间培训机构网站源码

一般情况下&#xff0c;报错信息一大堆&#xff0c;值得注意的只有三个地方&#xff1a; 哪个文件发生了错误哪一行发生了错误错误原因是什么 只要知道这三个东西就能快速的定位到错误发生的位置并且根据提示解决。 如果你也喜欢我的这种异常输出(如文章顶部图) 那么可以参考以…

网站开发字典文档wordpress安全检测工具

Ubuntu安装好以后&#xff0c;默认是安装使用nano编辑器。不过这对于用惯了vim的人可能会有些不习惯。好在Ubuntu下安装vim还是比较简单的&#xff0c;使用如下命令即可&#xff1a;sudoapt-get install vim(apt-get install vim-full这下就好了 在输入 :syntax on 或者把/etc/…

php网站模板源码成都网站seo收费标准

一、引言 在Unity3D开发的MMORPG&#xff08;大型多人在线角色扮演游戏&#xff09;中&#xff0c;多玩家状态同步是一个至关重要的技术环节。它确保了在大量玩家同时在线时&#xff0c;服务器和客户端之间能够保持状态的一致性&#xff0c;从而提供流畅且准确的游戏体验。本文…

网站结构与导航设计杭州正晖建设工程有限公司网站

数据结构与算法 数据结构与算法是计算机科学中的两个核心概念&#xff0c;它们在软件开发和问题解决中起着至关重要的作用。 数据结构 数据结构是计算机中存储、组织和管理数据的方式&#xff0c;它能够帮助我们高效地访问和修改数据。不同的数据结构适用于不同类型的应用场…

内部网站 建设目标如何做后台网站的教程

王爱军 本文由国家能源集团信息技术主管王爱军投递并参与《2023中国数智化转型升级优秀CIO》榜单/奖项评选。丨推荐企业—锐捷网络 大数据产业创新服务媒体 ——聚焦数据 改变商业 随着全球信息化和网络化的进程日益加速&#xff0c;数字化转型已经成为当下各大企业追求的核心…