word模板替换工具以及使用说明(套红头,填充附件内容)

该博客介绍了如何使用一个自动化工具将JSON数据填充到Word模板中,并转换成PDF文件。步骤包括解压工具、准备Word模板、生成符合格式的JSON数据源文件,以及通过CMD调用命令执行转换。程序要求数据源文件与模板同名且在同一目录,且建议避免中文路径和特殊字符冲突。测试代码展示了如何生成JSON文件和执行转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

world替换填充内容


问题描述:

 将world的内容保持原格式填充到新的world里面并转为pd

解决方案:

文件包下载 word模板替换工具以及使用说明

  • 第一步

将wordreplace.zip解压 配置在服务器中的一个目录中

如: D:\test\wordreplace

  • 第二步

准备需填充的word模板


 

如: D:\\test\\测试word填充文件.docx

第三步:生成数据源文件 需满足以下要求:

1:文件后缀名为 .json

2:文件需和word模板路径在同一个目录下

3:生成的.json文件名称要和填充文件名字一致

如下图:

 

第四步:cmd调用命令(测试程序附加最下方)。

D:\\test\\wordreplace\WordReplace.exe D:\\test\\测试word填充文件.docx

执行后自动转换pdf文件

 

转换说明:

可配置转换后的文件格式:

after://此项可以为空,如果为空的话,表示在相同目录下存同名pdf文件

1、文本可以存在表格、形状、普通段落中。

2、特别说明:

            执行程序时候保证当前目录下无同名的pdf文件。应用程序不进行pdf删除操作。(如果有同名的会将原来的文件给替换掉!

            word 路径 exe 路径尽量不要拥有中文

            定义json格式key时候尽量用特殊字符开始和结束,避免和文件中文本产生冲突,如果 ${}。

            word 安装2016以后版本,office 365 , wps 不支持。此office 支持得是服务上版本儿非个人电脑上版本。

测试代码。

public static void main(String[] args) throws Exception {
		  JSONObject filejson=new JSONObject();
		  String realPath = "D:/test/";
		  filejson.put("${name}", "填充测试");
		  filejson.put("${fawendate}", "2021年5月31日");	
		  filejson.put("${type}", "万股苍穹");
		  filejson.put("${subject}", "寻仙问道许道长");
		  filejson.put("${content}", realPath+"测试替换文件.doc" );//测试文件路径
		  toJsonFile(filejson.toString());//生成.json文件
		  wordReplace(realPath+"填充文件.docx");//填充并生成PDF
	}
	
	public static void toJsonFile(String jsonStr){
      String fullPath = "D://test//填充文件.json";// ***此处生成的附件名称要和填充的名称一致
      try{
      // 保证创建一个新文件
      File file = new File(fullPath);
      if (!file.getParentFile().exists()) {
          // 如果父目录不存在,创建父目录
              file.getParentFile().mkdirs();
          }
      if (file.exists()) {
          // 如果已存在,删除旧文件
          file.delete();
      }
      file.createNewFile();
          // 将格式化后的字符串写入文件
          Writer write = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
          write.write(jsonStr);
          write.flush();
          write.close();
      }catch (Exception e){
          e.printStackTrace();
      }
	}
	
	
	public static void wordReplace(String filePath)
	  {
	    Runtime rt = Runtime.getRuntime();
	    try {
	      String url = "D:/test/WordReplace.exe";
	      System.out.println(url);
	      String[] cmdArray = { url, filePath };
	      Process proc = rt.exec(cmdArray);
	      proc.waitFor();
	    } catch (Exception e) {
	      e.printStackTrace();
	    }
	  }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值