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

建立企业网站需要什么天河网站建设公司排名

建立企业网站需要什么,天河网站建设公司排名,wplounge wordpress主题,制作网页图片格式项目需求#xff1a;获取列表数据之后直接将数据生成一个pdf。因此需要使用到 itext 对pdf进行直接操作。 环境配置 需要为pdf添加文字域#xff0c;因此需要安装Adobe Acrobat 准备一个空的PDF文件#xff0c;如果有现成的模板更好 依赖配置#xff0c;我们使用itext的7版…项目需求获取列表数据之后直接将数据生成一个pdf。因此需要使用到 itext 对pdf进行直接操作。 环境配置 需要为pdf添加文字域因此需要安装Adobe Acrobat 准备一个空的PDF文件如果有现成的模板更好 依赖配置我们使用itext的7版本 dependencygroupIdcom.itextpdf/groupIdartifactIditext7-core/artifactIdversion7.2.3/versiontypepom/type/dependency 快速使用 使用Adobe Acrobat Pro DC打开空PDF使用 文字域 工具为PDF添加文字域要注意为每个文字域命名。 如果你有现成的模板PDF直接使用识别域可以识别空白区域然后自动生成文字域但是一般都不太准确 如果你的单个数据很多的话可以在属性中设置多行  设置完文字域之后记得保存。 代码实现 SpringBootTest class StickerApplicationTests {private static final String TEMP_PATH C:\\Users\\An1ong\\Desktop\\Stickers.pdf;//生成PDF的位置private static final String DEST_PATH C:\\Users\\An1ong\\Desktop\\StickersOut.pdf;//本地上字体的路径private static final String FONT_PATH ;Autowiredprivate StickerService stickerService;Testvoid contextLoads() throws IOException {//创建一个新的PDF文件并写入数据PdfReader reader new PdfReader(TEMP_PATH);// 创建一个 PdfWriter 对象以写入新的PDFPdfWriter writer new PdfWriter(DEST_PATH);// 创建一个 PdfDocument 对象PdfDocument pdfDoc new PdfDocument(reader, writer);// 获取 PDF 表单PdfAcroForm form PdfAcroForm.getAcroForm(pdfDoc, false);//获得数据准备填充ListSticker stickerList stickerService.list(10);//文本填充for(int i 0; i stickerList.size();i){Sticker sticker stickerList.get(i);// 生成自定义序号格式为 001、002、003String customId String.format(%03d, i 1);String idFieldName id (i 1);String nameFieldName name (i 1);PdfFormField idField form.getField(idFieldName);if (idField ! null) {idField.setValue(customId);}PdfFormField nameField form.getField(nameFieldName);if (nameField ! null) {nameField.setValue(sticker.getStickerName());}}//消除掉表单域form.flattenFields();//关闭流pdfDoc.close();} } 行数也不算少但里面的逻辑其实也很简单。这是一个Springboot的单元测试我调用service中方法获取了一个装着对象的列表。 用PdfReader读取你要套写的模板用PdfWriter将数据写入模板。创建出一个PdfDocument对象并将这两个参数传入就可以开始对PDF操作了。 注意这个过程不会直接在原PDF上操作而是生成一个新的PDF进行操作程序结束后原PDF模版还是空白的。 PdfAcroFrom获取PDF表单然后PdfFormField获取其中的文字域最后使用for循环动态的将数据套打在模板上就完成了。 最终会生成一个新的文件 最终效果 之所以要在最后调用form.flattenFields消除掉表单域是因为如果不消除表单域的话就会变成这样。 封装 我们可以把这个在单元测试中的程序封装成工具类重复使用 public class PdfPrintUtil {// private static final String TEMP_PATH C:\\Users\\An1ong\\Desktop\\Stickers.pdf; // // private static final String DEST_PATH C:\\Users\\An1ong\\Desktop\\StickersOut.pdf;public static void printPDF(String TEMP_PATH,String DEST_PATH,ListSticker stickerList) throws IOException {//创建一个新的PDF文件并写入数据PdfReader reader new PdfReader(TEMP_PATH);// 创建一个 PdfWriter 对象以写入新的PDFPdfWriter writer new PdfWriter(DEST_PATH);// 创建一个 PdfDocument 对象PdfDocument pdfDoc new PdfDocument(reader, writer);// 获取 PDF 表单PdfAcroForm form PdfAcroForm.getAcroForm(pdfDoc, false);//文本填充for(int i 0; i stickerList.size();i){Sticker sticker stickerList.get(i);// 生成自定义序号格式为 001、002、003String customId String.format(%03d, i 1);String idFieldName id (i 1);String nameFieldName name (i 1);PdfFormField idField form.getField(idFieldName);if (idField ! null) {idField.setValue(customId);}PdfFormField nameField form.getField(nameFieldName);if (nameField ! null) {nameField.setValue(sticker.getStickerName());}}//消除掉表单域form.flattenFields();//关闭流pdfDoc.close();}}
http://wiki.neutronadmin.com/news/114888/

相关文章:

  • 信息发布网站有哪些微信社区官网
  • 网站关键词优化排名外包单页站好做seo吗
  • 在哪建网站资源库建设网站
  • 沈阳微信网站制作微网站建设正规公司
  • 做网站和做软件一样吗iis新建网站
  • 网站框架搭建在线 网站建设
  • 商务酒店网站模板在线房产网
  • win8网站模板title:(网站建设)
  • vs网站开发用html设计一个网页代码
  • 上海高端网站建设公司惠州做网站好的公司
  • 做名宿比较好的网站做设计时可以参考的网站
  • 做一般的公司网站需要多少钱中国纪检监察报电子版2021
  • 上市公司专利查询网站管理员修改网站的参数会对网站的搜效果产生什么影响?
  • 住房和城乡建设部网站施工员证软件定制网
  • 网站制作建设需求英文wordpress SEO
  • 十大设计创意产品网站沈阳seo优化
  • 网站app免费制作软件广渠门网站建设
  • 如何打开国外网站网站开发一般过程
  • 做方案还找不到素材 这里有最全的设计网站兰州市门户网站
  • 有做足球裁判跑动数据的网站吗江西省宜春市建设局网站
  • 绩溪网站建设链接推广
  • 温州专业网站建设公司网店美工是什么
  • 广西建设科技与建筑节能协会网站做网站页面遇到的问题
  • 阿里云对象存储做静态网站网站建设费记在什么科目下
  • 江苏省交通运输厅门户网站建设管理成都微信小程序分类信息开发
  • 怎么生成域名做网站网络公司取名字参考大全
  • 江苏城乡建设教育网站建数据库的网站多少钱
  • 个人网站开发的环境廊坊创景科技有限公司开发的app
  • 游戏网站建设网网站建设组织管理怎么写
  • wordpress插件 网站旅游平台网站建设方案