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

建设网站的企业是什么深圳平面广告设计公司

建设网站的企业是什么,深圳平面广告设计公司,wordpress常量,博物馆门户网站建设本项目所有源码和依赖资源都在文章顶部链接#xff0c;有需要可以下载使用 1. 需求描述 从指定位置读取一个 word 模板获取业务数据并写入该 word 模板#xff0c;生成新的 word 文档将新生成的 word 文档转换为 pdf 格式对 pdf 文档添加水印 2. 效果预览 word 模板 带水印的… 本项目所有源码和依赖资源都在文章顶部链接有需要可以下载使用 1. 需求描述 从指定位置读取一个 word 模板获取业务数据并写入该 word 模板生成新的 word 文档将新生成的 word 文档转换为 pdf 格式对 pdf 文档添加水印 2. 效果预览 word 模板 带水印的 pdf 文档 3. 实现思路 word 模板数据写入使用 poi-tl 库实现word 转 pdf 格式aspose-words 库实现pdf 增加水印aspose-pdf 库实现 4. 实现过程 4.1 依赖库准备 poi-tl 可以使用 maven 直接从中央仓库下载但是 aspose 无法下载需要从网上下载 jar 包并导入本地仓库 poi-tl dependencygroupIdcom.deepoove/groupIdartifactIdpoi-tl/artifactIdversion1.12.1/version/dependencyaspose-word 将 jar 包导入本地仓库 mvn install:install-file \-DgroupIdcom.aspose \-DartifactIdaspose-words \-Dversion15.8.0 \-Dpackagingjar \-Dfileaspose-words-15.8.0-jdk16.jar项目中添加依赖 dependencygroupIdcom.aspose/groupIdartifactIdaspose-words/artifactIdversion15.8.0/version/dependencyaspose-pdf 将 jar 包导入本地仓库 mvn install:install-file \-DgroupIdcom.aspose \-DartifactIdaspose-pdf \-Dversion17.8 \-Dpackagingjar \-Dfileaspose.pdf-17.8.jar项目中添加依赖 dependencygroupIdcom.aspose/groupIdartifactIdaspose-pdf/artifactIdversion17.8/version/dependencylicense.xml 由于 aspose 库分为免费版和收费版免费版导出的文档带有试用水印所以需要添加 license.xml版权关系不在文章中写出有需要的可以下载文章顶部链接的完整源码包。 4.2 核心实现方法 SpringBootApplication public class Word2PDFApplication {public static void main(String[] args) {SpringApplication.run(Word2PDFApplication.class, args);// word 模板String wordTemplatePath src/main/resources/templates/简历模板.docx;// 写入数据后的 wordString wordOutputPath src/main/resources/templates/简历模板-output.docx;// word 转换为 pdfString pdfOutputPath src/main/resources/templates/简历模板.pdf;// pdf 增加水印String pdfWithMarkerOutputPath src/main/resources/templates/简历模板-marker.pdf;// step 1: 封装模板数据MapString, Object dataMap getPersonDataMap();// step 2: 将数据写入 word 模板writeDataToWord(dataMap, wordTemplatePath, wordOutputPath);// step 3: 将 word 转换为 pdfconvertWordToPdf(wordOutputPath, pdfOutputPath);// step 4: 将 pdf 增加水印addMarkerToPdf(pdfOutputPath, pdfWithMarkerOutputPath);}// 封装业务数据用于填入模板对应占位符中private static MapString, Object getPersonDataMap() {MapString, Object personDataMap new HashMap();personDataMap.put(name, 张三);personDataMap.put(sex, 男);personDataMap.put(birthDate, 1998-12-02);personDataMap.put(id, 420202199812020011);personDataMap.put(phone, 18819297766);personDataMap.put(skills, java Spring MySQL ...);return personDataMap;}// 将业务数据写入 word 模板并生成新的 word 文件private static void writeDataToWord(MapString, Object dataMap, String wordTemplatePath, String wordOutputPath) {XWPFTemplate render XWPFTemplate.compile(wordTemplatePath).render(dataMap);File dest new File(wordOutputPath);if (!dest.getParentFile().exists()) {dest.getParentFile().mkdirs();}try {render.writeToFile(wordOutputPath);} catch (IOException e) {throw new RuntimeException(e);}}// 将新生成的带有业务数据的 word 文档转换为 pdf 格式private static void convertWordToPdf(String wordOutputPath, String pdfOutputPath) {// 验证 License 若不验证则转化出的 pdf 文档带有水印if (!getAsposeWordLicense()) {return;}FileOutputStream os null;try {long old System.currentTimeMillis();File file new File(pdfOutputPath);os new FileOutputStream(file);Document doc new Document(wordOutputPath);doc.save(os, SaveFormat.PDF);long now System.currentTimeMillis();System.out.println(pdf转换成功共耗时 ((now - old) / 1000.0) 秒);} catch (Exception e) {e.printStackTrace();} finally {if (os ! null) {try {os.flush();os.close();} catch (IOException e) {e.printStackTrace();}}}}// 对转换后的 pdf 文档添加水印效果private static void addMarkerToPdf(String pdfOutputPath, String pdfWithMarkerOutputPath) {// 验证 License 若不验证则增加水印后的 pdf 文档带有试用水印boolean asposePdfLicense getAsposePdfLicense();if (!asposePdfLicense) {return;}com.aspose.pdf.Document pdfDocument new com.aspose.pdf.Document(pdfOutputPath);TextStamp textStamp new TextStamp(水印文本);textStamp.getTextState().setFontSize(14.0F);textStamp.getTextState().setFontStyle(FontStyles.Bold);textStamp.setRotateAngle(45);textStamp.setOpacity(0.2);// 设置水印间距float xOffset 100;float yOffset 100;// 添加水印到每一页for (Page page : pdfDocument.getPages()) {float xPosition 0;float yPosition 0;// 在页面上添加水印直到页面被覆盖while (yPosition page.getRect().getHeight()) {textStamp.setXIndent(xPosition);textStamp.setYIndent(yPosition);page.addStamp(textStamp);xPosition xOffset;// 如果水印超过页面宽度移到下一行if (xPosition textStamp.getWidth() page.getRect().getWidth()) {xPosition 0;yPosition yOffset;}}}// 保存修改后的文档pdfDocument.save(pdfWithMarkerOutputPath);}// 验证 license否则有试用水印private static boolean getAsposeWordLicense() {boolean result false;InputStream is null;try {ResourcePatternResolver resolver new PathMatchingResourcePatternResolver();org.springframework.core.io.Resource[] resources resolver.getResources(classpath:license.xml);is resources[0].getInputStream();License asposeLic new License();asposeLic.setLicense(is);result true;} catch (Exception e) {e.printStackTrace();} finally {if (is ! null) {try {is.close();} catch (IOException e) {e.printStackTrace();}}}return result;}// 验证 license否则有试用水印private static boolean getAsposePdfLicense() {boolean result false;InputStream is null;try {ResourcePatternResolver resolver new PathMatchingResourcePatternResolver();org.springframework.core.io.Resource[] resources resolver.getResources(classpath:license.xml);is resources[0].getInputStream();com.aspose.pdf.License asposeLic new com.aspose.pdf.License();asposeLic.setLicense(is);result true;} catch (Exception e) {e.printStackTrace();} finally {if (is ! null) {try {is.close();} catch (IOException e) {e.printStackTrace();}}}return result;} }
http://www.dnsts.com.cn/news/100910.html

相关文章:

  • 怎么设置网站支付功能图片展示网站
  • 中国有哪些网站可以做兼职餐馆网站怎么做
  • 以橙色为主的网站微信小商店官网入口
  • wordpress网站数据迁移大连企业网站建设定制
  • 辽宁响应式网站建设哪家好企业网站建设公司多米
  • 学校网站制作多少钱乐陵森林
  • flash开发网站学校网站素材
  • wordpress博客打开慢手机优化设置
  • 网站安全建设总结报告益阳网络推广
  • 给我一个可以在线观看的懂得淄博网站优化资讯
  • 最专业微网站首选公司广西建设工程质量安全监督总站网站
  • 移动网站建设公司网站推广
  • 怎么学做电子商务网站做设计太依赖网站素材
  • 郑州seo网站管理网站用户体验方案
  • 网站数据diy科技制作网站
  • 网站建设应遵守的原则西安房产网58
  • 深圳中瑞建设集团官方网站贵州做网站公司
  • 网站建设业务范围网站服务是什么
  • 招聘网站建设人员有深度网站
  • 佛山企业网站设计制作用名字做壁纸网站
  • 郑州网站建设(智巢)wordpress分享qq插件下载
  • 开淘宝的店铺网站怎么做查域名备案
  • 成都分销商城网站建设wordpress的意思和读音
  • 南京英文网站建设中国互联网十大巨头公司
  • 做网站前台用什么问题wordpress做首页
  • 哪个网站ppt模板免费下载京东网站建设的意义
  • 十年前网站开发语言韩式风格的网页设计欣赏
  • 三门峡住房城乡建设局网站wordpress模板怎么添加菜单
  • wordpress查看站点企业宣传册版式设计
  • 音响网站模板往国外卖货的平台