精华内容
下载资源
问答
  • 使用java2wordword文档里插入文本、表格、图片
    2021-03-21 09:20:00

    import java.util.ArrayList;

    import java.util.List;

    import com.heavenlake.wordapi.Document;

    /*

    * 石磊

    * 2009-02-26

    * 诚信能环

    */

    public class UpdateWord {

    public static void main(String[] args) {

    try {

    Document doc = new Document();

    doc.open("F:/a.doc");

    /*

    * 自定义文本javatext和表格样式table

    */

    //插入文本

    //doc.insertAtBookmark("图片","我是石磊","javatext");

    //插入表格

    doc.insertAtBookmark("表格",UpdateWord.returnLis());

    //插入表格 并使用自定义表格样式

    //doc.insertAtBookmark("啊啊",UpdateWord.returnLis(),"table");

    //插入图片

    //doc.insertAtBookmark("图片",new File("F:\\photo\\表情\\tao.gif "));

    //读取表格数据

    //List list = doc.readTable(1, 4);

    //System.out.println(list.size());

    //合并单元格,并插入数据到合并后的单元格

    //doc.mergeCell(1, 1, 1, 1, 3, "我被合并了");

    /*

    * 只替换找到的第一个toFindText文本

    * replace(java.lang.String toFindText, java.lang.String newText)

    * 查找toFindText,并替换为设定文本newText 只替换找到的第一个toFindText

    */

    //doc.replace("9", "替换为10");

    //全局替换

    //doc.replaceAll("9", "全局替换");

    doc.close(true);

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    public static List returnLis(){

    List list = new ArrayList();

    String[] array = new String[10];

    for (int i = 0 ; i < 10 ; i ++ ) {

    array[i] = String.valueOf(i);

    list.add(array);

    }

    return list;

    }

    }

    更多相关内容
  • 下面小编就为大家分享一篇Java解析word,获取文档中图片位置的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • java:多个图片导出到word文档里显示,用于打印图片导出
  • 关于java 从FTP下载Word文档图片显示不全的问题 最近想实现这样一个功能,从ftp服务器获取word文档下载下来,但是出现了一下问题: 本地启动的tomcat,可以下载word图片显示正常;测试服务器上下载下来的文件只...

    关于java 从FTP下载Word文档图片显示不全的问题

    最近想实现这样一个功能,从ftp服务器获取word文档下载下来,但是出现了一下问题:

    • 本地启动的tomcat,可以下载word,图片显示正常;测试服务器上下载下来的文件只显示文字,图片不显示
    • 经反复测试,测试服务器所下载word文档只能包含jpg格式的图片,png格式的图片不行,如图:
      在这里插入图片描述
      从网上搜了好多解决的方案都没用,包括:
      1.解除锁定在这里插入图片描述
      2.信任中心设置
      在这里插入图片描述
      可能是走火入魔了,不去找代码的问题,去找一些没有卵用的解决方法,还试图改过受信任的站点,觉得自己网址不安全引起的,最后发现要加这两行代码:
    ftpClient.setFileType(FTP.BINARY_FILE_TYPE); // 设置下载文件为二进制模式
    ftpClient.setFileTransferMode(FTP.STREAM_TRANSFER_MODE); /// 传输文件为流的形式
    

    终于行了

    对了,想起来了,关于ftp这块,前一段时间还发现一个坑,也是下载文件,那次好像是音频文件,本地tomcat可以,测试服务器上tomcat也可以,生产环境不行
    加了如下代码:

    ftpClient.enterLocalPassiveMode();// 防止端口堵塞(被动模式)
    

    以后发现有的环境可以,有的环境不可以,多看看ftp的设置和模式

    展开全文
  • 前一段时间遇到一个问题,就是将html转成word文档,里面有图片,表格,和各种形式的文字。...当我们在断网的情况下(或者拷贝到两一台电脑上)打开word文档的时候实际上看到的图片是一个链接,也就是说图...

    前一段时间遇到一个问题,就是将html转成word文档,里面有图片,表格,和各种形式的文字。刚开始的做法是将html代码取出来,然后以留的形式进行保存,后缀名为.doc。当我转成之后发现一切完美,但是图片出现了问题:

    1.图片大小、像素有问题。

    2.(最严重的)图片存在word的是一个链接而已。

    当我们在断网的情况下(或者拷贝到两一台电脑上)打开word文档的时候 实际上看到的图片是一个链接,也就是说图片转化的不成功。

    其实从本质上来说,我们可以看一下转化之后所谓的word文档的格式,(点击另存为,看文件类型)发现其实转化之后的文档的文件类型仍然是.html的格式。只有当我们再次另存为并且选择文件类型为.doc格式的时候 才能做到真正意义上的转化,并且图片不会出现上述问题。原因大致是html转word的时候中间会经过一步处理,先将html的文件转成了xml文件,然后在转成.doc格式,同时将html的图片转成了Base64编码的格式(替换了图片的链接)存在了xml文件里。(我们可以打开将任意一篇.doc格式的word文档另存为成.xml文档后分析带有图片的那部分代码。)

    于是乎浏览网上各种大神的解决办法,发现并没有一个很好的解决方法。网上的关于html转化word的解决办法总结起来有以下几种情况:

    1.用ASPOSE.WORDS控件来处理。(涉及到了asp。。还有神马控件。。扩展性太差,,果断不深入这个方法。废弃之。)

    2.把html文件里面的图片转成Base64格式存储。

    好像是涉及到了上面所叙述的html转word的原理部分,但是那是word做的事,鬼知道当我们在选择将word另存为.doc格式的时候word做了什么操作。。。。我们都知道html标签里的图片形式为:xxxxxxx  将图片转成Base64编码容易,但是并不是将Base64编码的图片简单的放到src=“xxxxx”里面就行了,需要能让word读懂。  转成能让word读懂的格式就更不容易了(也就是前文提到的那个xml文件)。因为图片有很多格式(.jpg/.png等等),还要涉及到word里特殊的标签(类似这种)。。。。 所以在尝试了之后也放弃了。

    3.用POI 这个jar包

    说这个的更是扯。Apache的POI对图片的处理不友好,甚至有的版本根本就不支持。在入坑很久之后,果断放弃。。。

    4. javacdoc 的包

    亲测 不可以。以上4中方法是网上讨论最多的,我从09年的帖子一直翻到17年的,总结下来的。。发现并没有找到解决办法。。最后不得已,决定自己解析html文档,转化word。最终成功转化,实现了自己想要的结果。实现起来也很简单,只是解析了一下word而已。

    5.利用freemaker模板。

    这个可以解决,但是要大动干戈。实际开发的过程中不会因为一点问题就换模板的。这样不利于开发和维护。

    解决思路:

    设法解决转成word的时候另存为时候看到的文件类型不是.html格式的就ok,这样的话就不会以图片链接的形式放在word里面。

    解决办法:(相关demo和jar包后面会给出)

    1.先 用jsoup的包将html格式化。(此处用于解析html代码。方便后面用itext包调用)

    2.利用iText的jar包,这个jar包是转化pdf用到的,但是转化成word也能用。保存后在word里面的文件类型是.rtf格式的。能够完美解决问题。

    成功后的结果:

    53ea40d09027c7d705bbf7ca1fa353b6.png

    文件类型:

    a5a87e2443dce1f4b2dc2b464ccc870e.png

    Demo地址:

    http://download.csdn.net/download/wht21888/10120532

    --------------------- 本文来自 kihtoner 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/wht21888/article/details/78545712?utm_source=copy

    展开全文
  • 本代码实现使用Java程序读取word文档成网页,将word文档按原样在网页输出。项目编码为UTF-8,文件编码也是utf8,再不要说乱码这种骚话了,选择utf8加载项目就不会乱码
  • 完整项目包括所有jar包,完美支持html转word,并解决图片断网能访问的问题。调用HtmlToWord类测试即可,注意修改调用文件的路径,因里面用到jacob,需要将jacob.dll拷贝到项目所在jre\bin目录下面
  • java freemarker导出word -包含多张图片导出
  • 最近因为一个项目需要在已经存在的word模板的指定地点插入图片,而且项目采用的是java,然而我对Java太熟,网上的资料大多是在生成模板的时候添加图片,我折腾了挺久才解决这个问题,在此记录下来。微软在MS ...

    最近因为一个项目需要在已经存在的word模板的指定地点插入图片,而且项目采用的是java,然而我对Java并不太熟,网上的资料大多是在生成模板的时候添加图片,我折腾了挺久才解决这个问题,在此记录下来。

    微软在MS Office 2007之后开始推出了.docx格式的word文档,推行ooxml(office open xml),也就是结合zip技术和xml技术来存储word文档。对docx文档进行操作本质上就是对xml文件在进行操作,这样思路要清晰一点。百度发现大多数资料都是采用POI,然而又有人说POI在插入图片的时候有bug,于是换google,发现了一个叫docx4j的包,但是中文资料较少,作为一个大学四级都考了N次的人来说(泪目)。。。

    jdk版本:1.8

    docx4j版本:3.3.1

    MS Office版本:MS Office 2016 for mac

    思路

    首先在word模板中需要添加图片的地方添加书签,这个书签就作为定位的依据。

    然后在java中找到这个书签,一般来说书签都是处于一个段落中,然后找到这个书签的父级段落,把图片加入到这个段落中就可以了。

    代码

    public static void main(String[] args) throws Exception {

    // 模板文件路径

    String templatePath = "template.docx";

    // 生成的文件路径

    String targetPath = "target.docx";

    // 书签名

    String bookmarkName = "bookmark";

    // 图片路径

    String imagePath = "image.jpg";

    // 载入模板文件

    WordprocessingMLPackage wPackage = WordprocessingMLPackage.load(new FileInputStream(templatePath));

    // 提取正文

    MainDocumentPart mainDocumentPart = wPackage.getMainDocumentPart();

    Document wmlDoc = (Document) mainDocumentPart.getJaxbElement();

    Body body = wmlDoc.getBody();

    // 提取正文中所有段落

    List paragraphs = body.getContent();

    // 提取书签并创建书签的游标

    RangeFinder rt = new RangeFinder("CTBookmark", "CTMarkupRange");

    new TraversalUtil(paragraphs, rt);

    // 遍历书签

    for (CTBookmark bm:rt.getStarts()) {

    // 这儿可以对单个书签进行操作,也可以用一个map对所有的书签进行处理

    if (bm.getName().equals(bookmarkName)){

    // 读入图片并转化为字节数组,因为docx4j只能字节数组的方式插入图片

    InputStream is = new FileInputStream(imagePath);

    byte[] bytes = IOUtils.toByteArray(is);

    // 穿件一个行内图片

    BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wPackage, bytes);

    // createImageInline函数的前四个参数我都没有找到具体啥意思,,,,

    // 最有一个是限制图片的宽度,缩放的依据

    Inline inline = imagePart.createImageInline(null, null, 0,1, false, 800);

    // 获取该书签的父级段落

    P p = (P)(bm.getParent());

    ObjectFactory factory = new ObjectFactory();

    // R对象是匿名的复杂类型,然而我并不知道具体啥意思,估计这个要好好去看看ooxml才知道

    R run = factory.createR();

    // drawing理解为画布?

    Drawing drawing = factory.createDrawing();

    drawing.getAnchorOrInline().add(inline);

    run.getContent().add(drawing);

    p.getContent().add(run);

    }

    }

    wPackage.save(new FileOutputStream(targetPath));

    }

    docx4j的好处在于可以完全跨平台、开源免费、不需要安装office也可用,而且它还支持maven管理:

    org.docx4j

    docx4j

    3.3.1

    docx4j给出了很多例子,很多需求都可以通过阅读示例代码解决。

    参考

    展开全文
  • LibreOffice:java 预览Excel、java预览wordjava预览DOCX
  • java word文件转图片

    2022-01-18 22:23:21
    网上尝试了一些方案,这个最好用(用到了jar包是...话多说,直接上代码(最下面main函数测试结果): package com.util; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.Buffere
  • text解决了,表格解决了,结果才发现图片用XWPFDocument压根无法实现addPicture,POI自身有bug,图片是加入到word文件里面了,可是显示不了。。。于是乎,又折腾了2天,终于整蛊了怎么让图片在里面显示出来,其他的...
  • 1.word中放入一个图片2.ftl文件中搜索pkg:binaryData3.删除数据,用变量替换image.png附:转换本地图片和网络图片本地图片public String getImageStr1() {String imgFile = "E:/123.jpg";InputStream in = null;byte...
  • (1)模板导出图片不显示(实际上导出来了只是最小化显示了) (2)fe循环指令存在而合并单元格的时候格式错乱问题 (3)fe存在一对多关系的时候格式错乱问题 想下载的可以参考博文 ,代码是一样的 ...
  • java调用PageOffice V4.4实现在线编辑保存Word文件(支持跨浏览器)
  • 使用poi替换word中的图片,无需加书签,doc/docx均可,亲测。
  • 场景描述使用mht格式利用freemark将网页上动态输入的图片搞到mht里面,转换为docx格式。...结果转换出来的docx图片不显示(其实不是不显示,是压根就没有图片的占位),但是使用office word打开...
  • java导出word(带图片)

    2021-02-12 12:57:58
    //设置图片显示位置 73 img.scaleAbsolute(60, 60);//直接设定显示尺寸74 //img.scalePercent(50);//表示显示的大小为原尺寸的50%75 //img.scalePercent(25, 12);//图像高宽的显示比例76 //img.setRotation(30);//...
  • Java导出word 图片重复

    2022-02-18 15:38:59
    Java导出word 遍历图片重复
  • 1.按照客户要求来编辑“绘制”所需word文档 使用word绘制出客户需要的那种结果,让客户确认结果,然后再制作。 2.绘制完成后,另存为《Word 2003 XML 文档(*.xml)》 确认无误后,另存 3.将保存后的文件的后缀名改为...
  • text解决了,表格解决了,结果才发现图片用XWPFDocument压根无法实现addPicture,POI自身有bug,图片是加入到word文件里面了,可是显示不了。。。于是乎,又折腾了2天,终于整蛊了怎么让图片在里面显示出来,其他的...
  • 生成的word文档中会插入一张图片java类型为BufferImage。生成word后,发现图片的布局是嵌入,这样图片显示的时候会被遮住一大半。修改图片的布局或者行间距可以解决这个问题,选择修改word模板的行间距解决图片...
  • Java 生成word文件,带样式,带页眉,带页码,带图片,带表格,需要相关iText包,包可在http://download.csdn.net/detail/wuxinxing1981/8055977 链接下载。
  • java word 插件

    2021-04-13 01:27:54
    java怎么判断word文档版本PDF也是有分的。有些是文字的内容,有些是图片里有文字。前者转换还可以接受,后者转换就不堪入目了。网上很多java PDF的插件的,读出内容,再用插件将内容保存成word。高级点的插件可能...
  • 1、整体思路利用xml模板,在模板中预留占位标识(${yourContent}),然后将xml转为ftl文件,通过Map传值填充对应的内容即可,word其实和html一样,也有自己的xml标签,表头、段落、图片、以及字体、标题等的标签。...
  • 虽然 Apache POI 是非常强大的针对 Microsoft Office 读写的工具,但是其太过于复杂,往往太好编写代码,且编写出的代码不宜维护(也可能只是网上大家分享的代码大多都好好整理的原因)。所以在导出读取 Excel ...
  • Html转wordDemo和相关jar包。 解决java中html转word文档,转成功后的word文档在断网情况下无法显示图片问题。 搞了好多天,网上的帖子达到效果。于是自己搞了个办法,亲测可用。
  • 1、poi版本3.13 2、可进行表格替换。复制、图片导出 3、可直接运行
  • 我是Java图形(一般的计算机图形...目前,我正在尝试在Java GUI中与原始图像一起显示BufferedImage.这是我的代码:Image oriImage = robot.getQwerkController().getVideoStreamService().getFrame(); //load the ori...
  • 今天就来为大家介绍java如何在word中添加图形并且通过生动的图片详细解析。首先介绍如何使用java编程在Word文档中添加形状(图形),这其中包括添加单个图形、组合图形,和格式化图形样式,以及如何设置形状填充色、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,782
精华内容 11,912
关键字:

java word 图片不显示

java 订阅