精华内容
下载资源
问答
  • word目录模板图片
    2022-04-19 11:08:53

    代码 word模板及生成word下载

    下载地址

    先制作word模板

    在这里插入图片描述

    比如说这个模板。首先对模板给于占位,我为了方便用代码获取,前面加了$,这都随意,在标号占位后

    一定记得 例如$name选中右键复制->粘贴只保留文本(有时候打吗读取时会有占位符)

    最后记得word另存为docx文件

    在这里插入图片描述

    pom加 jar

    <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-excelant</artifactId>
                <version>4.0.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-scratchpad</artifactId>
                <version>4.0.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>4.0.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml-schemas</artifactId>
                <version>4.0.0</version>
            </dependency>
            <!-- 生成图片-->
            <dependency>
                <groupId>org.jfree</groupId>
                <artifactId>jfreechart</artifactId>
                <version>1.0.19</version>
            </dependency>
            <dependency>
                <!--支持插入图片-->
                <groupId>org.docx4j</groupId>
                <artifactId>docx4j</artifactId>
                <version>3.3.1</version>
            </dependency>
    
    

    制作好模板后 核心代码

    /**
         * 将word中某些标签替换成指定的值,并生成一个新的word文档。
         *
         * @param templateFilePath word模板文件路径
         * @param outFilePath      填充后输出文件路径
         * @param map              key:word中的占位标签,value对应标签要替换的值。
         * @throws IOException
         */
        public static void insertAndOutFile(String templateFilePath, String outFilePath, Map<String, String> map) throws IOException, InvalidFormatException {
            //准备工作,生成docx对象
            String templatePath = templateFilePath;
            InputStream is = new FileInputStream(templatePath);
            XWPFDocument docx = new XWPFDocument(is);
            //获取段落
            List<XWPFParagraph> paras = docx.getParagraphs();
            for (XWPFParagraph para : paras) {
                for (XWPFRun run : para.getRuns()) {
                    //遍历该段里的所有文本
                    String str = run.toString().trim();
                    System.out.println(str);
                    //如果该段文本包含map中的key,则替换为map中的value值。
                    Set<String> keySet = map.keySet();
                    for (String key : keySet) {
                        if (str.trim().equals(key)) {
                            System.out.println("key" + map.get(key));
                            //替换该文本0位置的数据。
                            run.setText(map.get(key), 0);
                        }
                    }
                }
            }
            //获取表格
            List<XWPFTable> tables = docx.getTables();
            //定位到第一个表格
            XWPFTable table = tables.get(0);
            //遍历该表格所有的行
            for (int i = 0; i < table.getRows().size(); i++) {
                XWPFTableRow row = table.getRow(i);
                //遍历该行所有的列
                for (int j = 0; j < row.getTableCells().size(); j++) {
                    XWPFTableCell cell = row.getTableCells().get(j);
                    //获取该格子里所有的段
                    List<XWPFParagraph> paragraphs = cell.getParagraphs();
                    for (XWPFParagraph p : paragraphs) {
                        //遍历该格子里的段
                        List<XWPFRun> runs = p.getRuns();
                        for (XWPFRun run : runs) {
                            //遍历该段里的所有文本
                            String str = run.toString().trim();
                            System.out.println(str);
                            //如果该段文本包含map中的key,则替换为map中的value值。
                            Set<String> keySet = map.keySet();
                            for (String key : keySet) {
                                if (str.trim().equals(key)) {
                                    if (key.contains("$img")) {
                                        System.out.println("key" + map.get(key));
                                        if (StrKit.notBlank(map.get(key)) && key.equals(str.trim())) {
                                            //获取本地图片
                                            run.addPicture(new FileInputStream(map.get(key)),
                                                    XWPFDocument.PICTURE_TYPE_PNG,
                                                    str+".png",
                                                    Units.toEMU(300),
                                                    Units.toEMU(150)
                                            );
                                            run.setText("", 0);//删除
                                        } else {
                                            run.setText("", 0);
                                        }
                                    }
                                    else {
                                        System.out.println("key" + map.get(key));
                                        //替换该文本0位置的数据。
                                        run.setText(map.get(key), 0);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            //输出
            OutputStream os = new FileOutputStream(outFilePath);
            docx.write(os);
            is.close();
            os.close();
    
        }
    
    
        public static void main(String[] args) throws Exception {
            Map<String, String> map = new HashMap<>();
            map.put("$name", "名字");
            map.put("$serial_number", "编号");
            map.put("$department", "部门");
            map.put("$reason_text", "事由");
            map.put("$notice_content_text", "内容");
            map.put("$requirement_content_text", "要求");
            map.put("$img1", "D://1.png");
            map.put("$img2", "D://1.png");
            map.put("$img3", "D://1.png");
            map.put("$img4", "D://1.png");
            map.put("$img5", "");
            map.put("$submit", "1215456464");
            map.put("$submit_date", "2022-01-02");
            insertAndOutFile("D:\\test1.docx", "D:\\out.docx", map);
        }
    

    生成后word
    在这里插入图片描述

    更多相关内容
  • 网络上的根据模板填充Word我都看过一些, 它们的功能在数据换行的时候用的是run对象的.addCarriageReturn()方法,或者是直接用\n实现换行。这些都不符合我的需求, 因为我要的是分段,而不是换行。换行的word导致另一...
  • Java Poi流根据Word模板插入相应的文本、表格和图片,并生成新的Word报告。文档提供相应的jar包和Word模板文件,表格支持动态添加数据,插入图片支持多种格式!
  • Apache poi 根据word模板生成word报表 替换 循环列表 图片,代码调试过了,修改相应的图片位置,word模板路径即可运行
  • 找了好久才调试成功,主要是导入图片设置图片尺寸比较麻烦,设置文字的demo比较多,但是很少有涉及到图片的demo ,好不容易找了一个分享一下
  • java 使用poi根据模版导出word文件 将文件中的标签替换成文字或者文件 文件中标签用{xxxx}生成新文件
  • Aspose.Words For .NET 生成word和pdf文件,支持利用模板替换其中的关键字和关键字替换为图片等操作。
  • .net 按照word模板替换制定内容,含图片,保留格式不变,附件是代码 可以直接使用,测试通过,如果不能运行 可以安装Office组件
  • java通过freemarker模板导出word图片,希望对你有用,本代码只支持doc格式,如果不满足你的需求,请担待着点!谢谢您能给予好评,非常感谢。
  • freemarker模板导出word循环图片表格详细教程 内含源码和详细教程,分不同格式的模版 亲测,详细案例,详细教程在使用必看里面。
  • C#版本 NPOI 批量替换Word文档(doc文件)变量的方法。 网上各种代码都是直接替换run,但实际上很多变量是由多个run表示的,并不能直接用,本代码完美支持{变量}替换。
  • Java Poi流根据Word模板插入相应的文本、表格和图片,并生成新的Word报告。文档提供相应的jar包和Word模板文件,表格支持动态添加数据,插入图片支持多种格式!
  • 使用java Apache poi 根据word模板生成word报表 仅支持docx格式的word文件,大概是word2010及以后版本,doc格式不支持。 使用说明:https://blog.csdn.net/u012775558/article/details/79678701
  • word批量插入图片模版

    2020-02-12 18:49:52
    该模版可以用于把多页图片插入到word文档的每一页,可以自动调整到页面大小,减少了很多插入与图片调整步骤,方便打印。可用于office2007及以上的版本,使用时只需把该模板放入office存放模板的文件夹,然后启用宏,...
  • 1、Word模板转html模板的操作步骤(图示例+操作描述,13张图); 2、由上述生成的html模板通过java代码生成pdf; 3、示例有本地模板和远程模板之分,可杜绝pdf标题丢失的问题; 4、资源概要:先阅读README.md文档,然后...
  • 根据word模板导出word、PDF文档,功能全,内容多,介绍详细。主要实现根据word模板及模板中的坐标($[标明.字段名])的形式进行查询出所对应的数据,然后分别生成PDF 和 WORD功能。 本功能是将各个模板的数据均查询...
  • 使用poi替换word中的图片,无需加书签,doc/docx均可,亲测。
  • C# WPF根据word模板生成word文档,包括Microsoft.Office.Core.dll,Microsoft.Office.Interop.Word.dll文件
  • template文件夹下放入xml模板, 运行Test.java文件, 可以生成word文档
  • FreeMaker解析Word模板(含图片)生成Word文档
  • 该插件主要由两部分组成:编辑器上传word插件和文档转换功能代码,最重要的是文档转换代码文件,需要稍作修改。具体部署步骤参考csdn博客:https://blog.csdn.net/changwei0112/article/details/108529221
  • jacob 替换word图片,rtf模板文件字符替换,字符替换成图片,docx4j操作word,itext,poi读取文档图片,条码生成插入文档等... 包和需要的文件都在里面,解压直接可以导入运行
  • 本资源包括word模板、aspose-words相关jar包、poi相关jar包,及java类,该类引入工程,导入jar包即可运行。警告:请勿用于商业用途,仅供学习研究,如有任何版权纠纷,本人概不负责!
  • java使用poi操作.doc word模板替换,循环插入表格
  • 可以用C#,引用office word,通过word模板新建一个word文档。代码包括了复制,修改,插入,光标定位,可以进行word表格创建,修改,复制,粘贴,插入文字,图片。另存文件等功能。
  • 使用POI 对 图片插入 目录插入 不用模板文件。 绝对好使的。
  • C#MVC开发的根据word模板导出word的功能,分为三部分。功能很完善,我也是下载回来的,下载回来不能用,我又改过了,保证可用的。环境是VS2013,MVC4.保存下来,分享给各位。
  • 1.word模板另存为xml格式文件的时候,选择Word 2003 XML格式(兼容问题) 2.模板中有图片的时候,将ftl文件中图片的base64编码改成变量${xxx} 改为对应的变量名 3.图片的标签必须在同一行,不能跳行,中间不能加...
  • 使用POI 对 图片插入 目录插入 不用模板文件。 绝对好使的。分简单模式和复杂模式。以前上传过一份,以为上传提交后可以修改上传文件。对不住那位哥,此次是完整项目,在生产环境中有使用的。有注释,有Sample。不懂...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,636
精华内容 13,454
关键字:

word目录模板图片