精华内容
下载资源
问答
  • Java动态生成含有图片的word文件(插入单张和多张图片) 1,首先创建word文件,为xx.doc形式。 2,将.doc文件另存为 xx.xml形式 3,打开.xml文件,通过写字板打开后的格式比较乱,所以可以通过“xml在线格式化”...

    Java动态生成含有图片的word文件(插入单张和多张图片)

    1,首先创建word文档,为xx.doc形式,文档要插入的图片位置在编写的时候需要用一张图片来占位,其他参数位置设定成如图所示的 ${对象.参数名} 形式(程序中将各参数值塞到对象中,在此处通过程序中设定的对象别名获取出参数值)。
    在这里插入图片描述
    2,将.doc文件另存为 xx.xml形式
    在这里插入图片描述
    3,打开.xml文件,通过写字板打开后的格式比较乱,所以可以通过“xml在线格式化”工具进行编辑
    在这里插入图片描述
    4,word中的图片转换成xml后是base64形式,这里删除转码写上自己代码中设定的参数名
    在这里插入图片描述
    此处为单张图片的替换方式
    在这里插入图片描述
    5,在转换.xml的过程中可能会出现word中设定的参数名分家的情况
    在这里插入图片描述
    将多余部分删除掉,手动拼接成word中设定的样子
    在这里插入图片描述
    6,此处为我们要动态遍历插入的图片,同理先替换base64码为程序中设定的参数名
    在这里插入图片描述
    将需循环插入的图片位置改写为如下形式
    在这里插入图片描述
    此时的xml文件已处理完成。
    7,接下来保存xml文件副本,将其改为 xx.ftl形式。
    在这里插入图片描述
    在这里插入图片描述
    此时的word文件转换已完成,下面进入项目程序。
    8,将xx.ftl文件放到resources目录下的某文件夹内
    在这里插入图片描述
    9,配置图片工具类

    
    import org.apache.commons.codec.binary.Base64;
    import org.springframework.util.StringUtils;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    
    /**
     * @program: avengers-template
     * @Author: sun
     * @Description:图片工具类
     */
    public class ImageUtil {
        /**
         * 将图片内容转换成Base64编码的字符串
         * @param imageFile 图片文件的全路径名称
         * @return 转换成Base64编码的图片内容字符串
         */
        public static String getImageBase64String(String imageFile) {
            if (StringUtils.isEmpty(imageFile)) {
                return "";
            }
            File file = new File(imageFile);
            if (!file.exists()) {
                return "";
            }
            InputStream is = null;
            byte[] data = null;
            try {
                is = new FileInputStream(file);
                data = new byte[is.available()];
                is.read(data);
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
    /*
            BASE64Encoder encoder = new BASE64Encoder();
            return encoder.encode(data);*/
            return Base64.encodeBase64String(data);
        }
    
    }
    

    10,配置word文档工具类

    
    import freemarker.template.Configuration;
    import freemarker.template.Template;
    import freemarker.template.Version;
    
    import java.io.*;
    import java.util.Map;
    
    /**
     * @program: avengers-template
     * @Date: 2020/10/11 19:13
     * @Author: sun
     * @Description:word文档工具类
     */
    public class WordUtil {
        /**
         * 使用FreeMarker自动生成Word文档
         * @param dataMap   生成Word文档所需要的数据
         * @param fileName  生成Word文档的全路径名称
         */
        public static void generateWord(Map<String, Object> dataMap, String fileName) throws Exception {
            // 设置FreeMarker的版本和编码格式
            Configuration configuration = new Configuration(new Version("2.3.30"));
            configuration.setDefaultEncoding("UTF-8");
    
            // 设置FreeMarker生成Word文档所需要的模板的路径 C:\\测试word文件夹
            configuration.setDirectoryForTemplateLoading(new File("C:\\测试word文件夹"));
            // 设置FreeMarker生成Word文档所需要的模板
            Template t = configuration.getTemplate("xx.ftl", "UTF-8");
            // 创建一个Word文档的输出流
            Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(fileName)), "UTF-8"));
            //FreeMarker使用Word模板和数据生成Word文档
            t.process(dataMap, out);
            out.flush();
            out.close();
        }
    }
    

    11,生成word方法:

    
    
    import com.sunvua.alan.base.utils.SessionUtil;
    import com.sunvua.sys.downWord.ImageUtil;
    import com.sunvua.sys.downWord.WordUtil;
    
    import org.springframework.web.bind.annotation.*;
    import org.springframework.web.multipart.MultipartFile;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.File;
    import java.io.IOException;
    
    import java.text.SimpleDateFormat;
    import java.util.*;
    
     @RequestMapping({"/getWord"})
        @ReadAccess(
                description = "生成word"
        )
        public JsonResult getWordPdfPng(User  user){
                //查询对应的数据
                List<User> users= this.userService.baseFindByIdNumber(user);
               String wordPath =  this.wordPdfPng(users);
          return new JsonResult(true,"生成word文档成功",wordPath);
        }
    
    
    
      /**
         * 生成word调用的方法
         * @param 
         * @return
         */ 
        public String wordPdfPng(List<User> userList){
            Map<String, Object> dataMap = new HashMap<>();
           User user = new User();
            user.set名字(userList.get(0).get名字());
            user.set证件号码(userList.get(0).get证件号码());
            user.setPicture(userList.get(0).getPicture());
    // 生成第二种图片集合
     
         Iterator<User> iterator = userList.iterator();
            while(iterator.hasNext()){
                User  user= iterator.next();
         
              //图片集合
            List<User> pictureList = new ArrayList<>();
              User  picTea= new User();
             picTea.setEveryPicture(ImageUtil.getImageBase64String(user.getPicPath()));//从数据库中获取图片路径并转换为base64码格式
                pictureList.add(picTea);
            }
    
            dataMap.put("tea", user);//tea为word中对应的字段参数
            dataMap.put("pictureList",pictureList);//pictureList为word中对应的图片集合
            String wordPath = "C:\\fileUpload\\"  + "测试word.doc";
            // 服务器word访问地址
            int index = wordPath.indexOf("\\");
            String newStr = wordPath.substring(index + 1);
            int index1 = newStr.indexOf("\\");
            String newStr1 = newStr.substring(index1 + 1);
            String webPath = "http://服务器ip地址"+"/file/image/"+ newStr1;
            //创建文件路径
            File dest1 = new File(wordPath);
            //判断文件父目录是否存在
            if (!dest1.getParentFile().exists()) {
                dest1.getParentFile().mkdir();
            }
            try {
                TwoWordUtil.generateWord(dataMap, wordPath);
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            return webPath;
        }
    
    
    

    可能会用到的包
    在这里插入图片描述
    至此为止,动态生成word已完成,生成结果如下。。。。。。。。。。
    在这里插入图片描述

    展开全文
  • Word怎么将两页内容打印在一张A4纸上 http://jingyan.baidu.com/article/3c343ff7099be40d37796304.html 上述做法有个美中不足的地方:选择了“版打印N”,右边看不到预览效果(仍然保留版1...

    把多页的Word文档缩小打印到一张纸上

    http://jingyan.baidu.com/article/63f2362816466c0209ab3d48.html


    怎样在Word2007中将多页文档打印在一页纸上

    http://jingyan.baidu.com/article/7082dc1cb8843ee40a89bd25.html


    Word怎么将两页内容打印在一张A4纸上

    http://jingyan.baidu.com/article/3c343ff7099be40d37796304.html


    上述做法有个美中不足的地方:选择了“每版打印N页”,右边看不到预览效果(仍然保留每版1页)如下图,只有实际打印出来才知道效果如何。

    (绝大部分情况下没问题,不过有时候我们为了节约纸张而选择每版打印多份(比如4份),此时想知道字体是否因此小到无法辨认)


    想预览的话,很简单。使用【虚拟打印机】就可以了:

    http://www.baidu.com/s?ie=utf-8&bs=word%E8%99%9A%E6%8B%9F%E6%89%93%E5%8D%B0%E6%9C%BA&f=8&rsv_bp=1&wd=%E8%99%9A%E6%8B%9F%E6%89%93%E5%8D%B0%E6%9C%BA&rsv_sug3=2&rsv_sug4=583&rsv_sug1=2&rsv_sug2=0&inputT=331&rsv_sug=2


    http://baike.baidu.com/view/1612190.htm?fr=aladdin


    http://www.pc6.com/pc/Vprinter/






    展开全文
  • Word中有两页页码相同解决办法

    万次阅读 2019-03-20 08:29:45
    如图,两页的页码都显示为“1”,这是因为在第一插入了分节符,第二的页码又没有续前节而是从第一开始的。  解决方法一、  在第一的末尾删除分节符。在‘视图’中点击‘草稿’,然后找到需要删除的分...

    如图,两页的页码都显示为“1”,这是因为在第一页插入了分节符,第二页的页码又没有续前节而是从第一页开始的。

      解决方法一、

      在第一页的末尾删除分节符。在‘视图’中点击‘草稿’,然后找到需要删除的分节符,按delete即可。

      解决方法二、

      1、双击第二页的页码,调出页眉页脚设置对话框。点击“设置页码格式”按钮。

                                                   

     

      2、设置页码格式,在页码编排选项中,选中“续前节”。

     

     

      3、或选中“起始页码”,设为“2”。

     

     

      4、设置完成,确定即可。

     

    展开全文
  • Word转PDF是一种基础的文档转换,操作也非常简单,但如果需要让转换后的PDF以原Word文档中的每两页并排显示,应该如何操作呢? 首先用极速写作打开Word文档,然后点击菜单栏的“打印”工具,或直接使用快捷键...

    Word转PDF是一种基础的文档转换,操作也非常简单,但如果需要让转换后的PDF每一页以原Word文档中的每两页并排显示,应该如何操作呢?

    首先用极速写作打开Word文档,然后点击菜单栏的“打印”工具,或直接使用快捷键“Ctrl+P”

    接着进入打印设置页面,将“每张打印页数”更改为“每张打印2页”
    在这里插入图片描述
    系统会自动生成新的打印预览,右侧区域即可查看打印后的效果

    点击页面中间最下方的页面切换,可以快速预览整个文档打印后的每一页效果
    在这里插入图片描述

    检查没有问题后,点击上方的“打印”即可。

    重点来了,这时要选择PDF打印机才能将其直接打印为PDF文档。

    这样我们要的PDF文档就完成了,看看效果
    在这里插入图片描述

    PS:此种方式仅适用于安装PDF虚拟打印机,调整打印预览后直接用Word导出或另存为PDF是无效的哦。

    以上所有操作为极速office图示说明,可能其他office软件操作略有不同或没有此功能,请下载安装极速office使用即可。

    展开全文
  • word中批量修改图片大小的个方法

    万次阅读 2018-07-19 11:23:26
    如果要的是ppt运行过程中的内容,在qq运行的情况下,按Ctrl+Alt+A截屏,按勾,然后可以直接粘贴到word中(生成的图片已经在剪贴板中了)    ///////////////////////////////////////////////////////////////////...
  • 现在用手机可以非常方便地...但是,如果需要将此截图打印出来或者插入Word文档需要自己调整。 一、打印长截图的常用方法: (1)用Windows自带的“画图”程序打印。首先用画图程序打开长截图文件。打印前,先在“...
  • Microsoft Office PowerPoint软件系统自带在一张纸上打印多幅幻灯片的功能,只要依次执行:文件 - 打印 - 在打印内容框中选择“讲义” - 在每页幻灯片数中选择适当的数字即可打印出如下图所示的一页多幅幻灯...
  • 1、 首先,需要新建一个word文档,在里面编好你想要的样式,需要加入数据的地方用占位符表示,如name,需要加入图片的地方随便插一张图片就行了,富文本编辑器的地方也用占位符表示,如${content}(这里我存的nr)...
  • 先选中第一张图片与文字,选择【格式】–【排列】–【对齐】–【居中对齐】,后面只要按F4,Word就会复制上一步操作了,轻松解决。 二:快速替换对齐 先选择【开始】–【替换】–【更多】–【特殊格式...
  • 2)把PDF文件拆分为JPG图片每页一张; 3)把JPG图片合并为一个PDF文件,文中代码只适用于A4纵向排版的文件,可以根据需要进行代码扩展。 相关阅读: Python+pywin32批量转换Word文件为PDF文件 Python把PDF文.....
  • 如何保存Word中的图片

    千次阅读 2014-02-26 14:11:16
    很多影友在看到word文档或PPT文件中有好图片希望单独保留时,不知道如何将里面的照片提取出来。其实这个过程很简单。   有些影友打开文件后选中图片,右键点击然后选择复制,再存储到文件夹中。但这样做并不能将原...
  • word转PDF出现多空白问题

    千次阅读 2020-03-26 11:27:49
    学位论文有封面、负封面、目录、中英文摘要、正文,一部分的页眉页脚(页码)奇偶都不相同,页码的格式也不相同,排版方式也不相同,因此在一部分都要分节,当页眉“分节链接到上一节”时,word中没有空白,...
  • WORD转PDF时候出现空白的解决办法

    万次阅读 多人点赞 2017-03-29 16:51:28
    看是否出现空白,在打印预览的时候就可以看见,一般出现在扉页上面。  我们在编辑文档的时候,有时并不是从头到尾所有的页面都采用相同的外观。例如,在某些文档中,可能会使用较宽的表格,这时我们就希望...
  • 最近在帮村里统计村民信息时,需要个人制作一张信息表格,还要插入个人照片。如果是以个人一个人输入,则会造成巨大的工作任务,所以下面是自己处理这些问题的一点经验。 邮件合并 在制作word信息表的时候,需要...
  • 文章目录先将 office 文档转成 PDF将 PDF 转成图片注意事项 先将 office 文档转成 PDF 通过 Java 调用 openoffice 请参考这篇文章: openoffice 安装与报错解决 在实际使用中, windows 上没大问题, 在 centos(Linux...
  • 一文230行代码学会使用Python操作Excel文件 Python操作Word文档的节属性和页眉/页脚 Python控制Word文件中段落格式与文本格式 Python把PDF文件中每页内容分离为独立图片文件 Python实现Excel与Word文件中表格数据的...
  • Word:将多缩放成一打印(转)

    千次阅读 2019-05-06 15:03:05
    Word:将多缩放成一打印(转) 如果你有一篇很长的电子文档,比如说是一本产品说明书,在电脑上看,太不方便,打印出来,又太浪费纸张,这时,可以使用缩放功能将好几的文章打印在一张纸上。打开文档,选择菜单 ...
  • 答:Word把使用公式编辑器输入的公式作为图形处理,编辑好的公式显示为一个方框是因为误开启了“图片框”功能,该功能使Word显示一个空白框来代替文档中的个图形。关闭“图片框”功能的方法是:点击“工
  • 如何将电脑中的几张图片打印在一张纸上腾讯视频/爱奇艺/优酷/外卖 充值4折起今天给大家介绍一下如何将电脑中的几张图片打印在一张纸上的具体操作步骤。1. 打开电脑,找到我们的图片所在的文件夹,双击打开。2. 如图...
  • word技巧

    千次阅读 2018-03-01 21:40:22
    word 高效经典教程(整理版)目录一分钟驾驭word 高效经典教程(整理版)... 6A、基础知识... 61、度量单位... 62、WORD中文字字号与磅的对应关系... 63、字体文件格式... 7B、文本编辑... 71、快速移动文档... 72、...
  • word应用

    千次阅读 2014-02-21 14:28:05
    1.问:WORD 里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同? 答:分节,每节可以设置不同的页眉。文件――页面设置――版式――页眉和页脚――首页不同。 2.问:请问word 中怎样让每一章用不同...
  • word精髓

    千次阅读 2012-05-18 21:42:57
    1.问:WORD 里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同? 答:分节,每节可以设置不同的页眉。文件――页面设置――版式――页眉和页脚――首页不同。 2.问:请问word 中怎样让每一章用不同的...
  • 1、word的邮件合并功能,把多条数据放到个表格中,个表格中人名相同,数据不同 举例如下: ![图片说明](https://img-ask.csdn.net/upload/201904/12/1555066531_298663.png) 2、目的:三一个文档...
  • 全选要转换的图片,然后在第一张图片的位置点击右键,选择打印。特别注意右键的位置就是PDF中的第一。如下图。 选择打印机 Foxit Reader PDF Printer,点击打印即可。如下图。 得到PDF中,会发
  • word2016高级知识精通 ​​​​​ 1.页面布局设置 问:什么是页面布局? 答:一般指的是: 页面的边距、纸张的大小、页面分栏、页面的纵向、横向设置等; 2.问:怎样设置边距? 答:单击【布局】→【.....
  • 在使用word写论文的,可能遇到如下图的问题 ,标题的顶端与页眉的距离太近,不是设定的上下段距离。 可以有种解决办法: 将分页符改为分节符,但是这样会使剩下的页面重新编码,不承接上面的页数; 将 .....
  • word 技巧

    2008-11-17 22:39:00
    问:WORD里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同?答:分节,每节可以设置不同的页眉。文件——页面设置——版式——页眉和页脚——首页不同问:请问word中怎样让每一章用不同的页眉?怎么我...
  • 书籍折页Word 2003具有一个“书籍折页”的功能,能够在一纸上打印两页的内容,打印后可以从中缝装订成折叠的小册子,更便于携带和阅读。设置步骤如下: 1.打开“页面设置”对话框,切换到“纸张”选项卡,选择一种...
  • word另存为pdf后,pdf文件中有空白

    千次阅读 2018-11-21 16:28:35
    看是否出现空白,在打印预览的时候就可以看见,一般出现在扉页上面。 &nbsp; &nbsp;我们在编辑文档的时候,有时并不是从头到尾所有的页面都采用相同的外观。例如,在某些文档中,可能会使用较宽的表格...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,391
精华内容 8,956
关键字:

word每页两张图片