您的位置:首页 > 房产 > 家装 > 制作公司网页流程费用_新冠肺炎疫情最新公布_搜易网服务内容_营销渠道方案

制作公司网页流程费用_新冠肺炎疫情最新公布_搜易网服务内容_营销渠道方案

2024/12/27 8:14:56 来源:https://blog.csdn.net/fuyuan98520/article/details/144273253  浏览:    关键词:制作公司网页流程费用_新冠肺炎疫情最新公布_搜易网服务内容_营销渠道方案
制作公司网页流程费用_新冠肺炎疫情最新公布_搜易网服务内容_营销渠道方案

主要步骤流程:

1、设计word模板

2、将模板转为PDF

3、使用Adobe Acrobat  设计表单

4、pdf内容填写输出

一、使用word设计模板

二、将模板转为PDF(跳过)

三、使用Adobe Acrobat  设计表单

1、使用打开pdf

2、选择工具的准备表单

3、填写文本域名称

4、如果有需要插入图片选择图片,并将外框和颜色选为无颜色

三、内容填写输出

       <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version></dependency><dependency><groupId>com.itextpdf</groupId><artifactId>itext-asian</artifactId><version>5.2.0</version></dependency><dependency><groupId>com.itextpdf.tool</groupId><artifactId>xmlworker</artifactId><version>5.5.13</version></dependency><dependency><groupId>fr.opensagres.xdocreport</groupId><artifactId>fr.opensagres.poi.xwpf.converter.pdf-gae</artifactId><version>2.0.1</version></dependency>
/*** 输出pdf* @param templatePath 模板* @param exportPath 新文件* @param data 文本* @param images 图片* @throws IOException */public static void generateTempPDF(String templatePath,String exportPath,Map<String, String> data ,Map<String, String> images) throws IOException {PdfReader reader = null;PdfStamper ps = null;OutputStream fos = null;ByteArrayOutputStream bos = null;try {//模板路径templatePathreader = new PdfReader(templatePath);bos = new ByteArrayOutputStream();ps = new PdfStamper(reader, bos);// 使用中文字体BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);ArrayList<BaseFont> fontList = new ArrayList<>();fontList.add(bf);AcroFields fields = ps.getAcroFields();fields.setSubstitutionFonts(fontList);fillData(fields, data);//渲染//插入图片if (EmptyUtils.isNotEmpty(images)) {fillImage(fields, ps,images);}//必须要调用这个,否则文档不会生成的ps.setFormFlattening(true);if(ps != null){ps.close();}//生成pdf路径存放的路径fos = new FileOutputStream(exportPath);fos.write(bos.toByteArray());}catch (Exception e){e.printStackTrace();}finally {if(fos!=null){fos.flush();fos.close();}if (bos != null){bos.close();}if(reader != null){reader.close();}}}private static void fillImage(AcroFields fields, PdfStamper ps, Map<String, String> images) {try {for (String key : images.keySet()) {String value = images.get(key);// 为字段赋值,注意字段名称是区分大小写的insertImage(fields, ps, key, value);}} catch (Exception e) {e.printStackTrace();}}/*** 填充模板中的数据*/public static void fillData(AcroFields fields, Map<String, String> data) {try {for (String key : data.keySet()) {String value = data.get(key);// 为字段赋值,注意字段名称是区分大小写的fields.setField(key, value);}} catch (Exception e) {e.printStackTrace();}}/*** pdf模板插入图片* @param form* @param stamper* @param filedName* @param url* @return*/public  static boolean insertImage(AcroFields form, PdfStamper stamper, String filedName, String url) {try {int pageNo = form.getFieldPositions(filedName).get(0).page;Rectangle signRect = form.getFieldPositions(filedName).get(0).position;float x = signRect.getLeft();float y = signRect.getBottom();Image image = Image.getInstance(url);// 获取操作的页面PdfContentByte under = stamper.getOverContent(pageNo);// 根据域的大小缩放图片image.scaleToFit(signRect.getWidth(), signRect.getHeight());// 添加图片image.setAbsolutePosition(x, y);under.addImage(image);}catch (Exception e){return false;}return true;}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com