JAVA生成WORD文件的方法目前有以下两种方式:

一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案;

一种是poi但是他的excel处理很程序 word模块还局限于读取word的文本内容,写word文件就更弱项了.

用到的jar包:iText-2.1.5.jariText-rtf-2.1.4.jariTextAsian.jar

/**

* 创建word文档 步骤:

* 1,建立文档

* 2,创建一个书写器

* 3,打开文档

* 4,向文档中写入数据

* 5,关闭文档

*/

/**

*

* @Description: 将网页内容导出为word

* @param @param file

* @param @throws DocumentException

* @param @throws IOException 设定文件

* @return void 返回类型

* @throws

*/

public String exportDoc() throws DocumentException, IOException {

// 设置纸张大小

Document document = new Document(PageSize.A4);

// 建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中

// ByteArrayOutputStream baos = new ByteArrayOutputStream();

File file = new File("D://report.doc");

RtfWriter2.getInstance(document, new FileOutputStream(file));

document.open();

// 设置中文字体

BaseFont bfChinese = BaseFont.createFont("STSongStd-Light",

"UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

// 标题字体风格

Font titleFont = new Font(bfChinese, 12, Font.BOLD);

// // 正文字体风格

//

Font contextFont = new Font(bfChinese, 10, Font.NORMAL);

Paragraph title = new Paragraph("统计报告");

//

// 设置标题格式对齐方式

title.setAlignment(Element.ALIGN_CENTER);

// title.setFont(titleFont);

document.add(title);

String contextString = "iText是一个能够快速产生PDF文件的java类库。"

+ " \n"// 换行 + "iText的java类对于那些要产生包含文本,"

+ "表格,图形的只读文档是很有用的。它的类库尤其与java Servlet有很好的给合。"

+ "使用iText与PDF能够使你正确的控制Servlet的输出。";

Paragraph context = new Paragraph(contextString);

// 正文格式左对齐

context.setAlignment(Element.ALIGN_LEFT);

// context.setFont(contextFont);

// 离上一段落(标题)空的行数

context.setSpacingBefore(5);

// 设置第一行空的列数

context.setFirstLineIndent(20);

document.add(context);

//

// // 利用类FontFactory结合Font和Color可以设置各种各样字体样式

//

// Paragraph underline = new Paragraph("下划线的实现", FontFactory.getFont(

// FontFactory.HELVETICA_BOLDOBLIQUE, 18, Font.UNDERLINE,

// new Color(0, 0, 255)));

//

// document.add(underline);

//

// // 添加图片 Image.getInstance即可以放路径又可以放二进制字节流

//

String imageString[] = imageFileUrl.split(",");

Image img = Image.getInstance(Base64.decodeFast(imageString[1]));

img.setAbsolutePosition(0, 0);

img.setAlignment(Image.LEFT);// 设置图片显示位置

//

// img.scaleAbsolute(60, 60);// 直接设定显示尺寸

//

// // img.scalePercent(50);//表示显示的大小为原尺寸的50%

//

// // img.scalePercent(25, 12);//图像高宽的显示比例

//

// // img.setRotation(30);//图像旋转一定角度

//

document.add(img);

document.close();

// 得到输入流

// wordFile = new ByteArrayInputStream(baos.toByteArray());

// baos.close();

return "";

}

生成的文档可以直接在程序中指定文件保存的路径,也可以给浏览器一个输入流,从浏览器中导出,具体实现有如上述程序中注释掉的几句代码。

java 图片写入word_Java 实现word 中写入文字图片的解决方案相关推荐

  1. word文档html图片不能移动,win7系统Word中插入的图片不能移动的解决方法

    很多小伙伴都遇到过win7系统Word中插入的图片不能移动的困惑吧,一些朋友看过网上零散的win7系统Word中插入的图片不能移动的处理方法,并没有完完全全明白win7系统Word中插入的图片不能移动 ...

  2. Java 实现word 中写入文字图片的解决方案

    Java 实现word 中写入文字图片的解决方案 参考文章: (1)Java 实现word 中写入文字图片的解决方案 (2)https://www.cnblogs.com/jianguang/p/57 ...

  3. C#在Excel与Word中写入上角标与下角标

    C#在Excel与Word中写入上角标与下角标 一.简介 二.实现过程 三.导出PDF字符错位 一.简介 使用C#语言操作Word与Excel文件一般分为两种方式,一种为在项目中引用Microsoft ...

  4. html怎么写入图片位置,如何在css中设置插入图片定位

    在做网页开发时,客户给的素材图片通常都是连在一起的,这样做也是为了缩短响应时间.下面就给大家具体说一下 ,如何通过css属性来定位图片. 如何在css中设置插入图片定位 首先设置固定图片的css属性是 ...

  5. 在WORD中批量修改图片大小

    今天在word中批量修改图片时发现了word一个强大的功能,不多说废话,直接附上步骤: 1.首先按一定的顺序将图片插入word当中: 2.点击"视图"----"宏&quo ...

  6. Word中并排放置图片的方法

    Word中并排放置图片通常有两种方法: 1.设置图片为除嵌入式以外的格式,从而可以随意摆放,但这往往会导致"改一处而乱全文",显然不行. 2.插入表格,去除表格边框(可能仍有绿色网 ...

  7. 让word中插入的图片不失真,图像保持原清晰度

    让word中插入的图片不失真,图像保持原清晰度 如图选择即可 可能的缺点就是word文件会变得更大,在保存和压缩会适当变慢. 但是我觉得有时候还是很有必要让图片变得清晰的.

  8. java提取word中的文字,java获取word里面的文本

    需求场景 开发的web办公系统如果需要处理大量的Word文档(比如有成千上万个文档),用户一定提出查找包含某些关键字的文档的需求,这就要求能够读取 word 中的文字内容,而忽略其中的文字样式.表格. ...

  9. pdf格式的图片如何插入到word中

    太长不看篇 1,在R中将图片保存为pdf格式 2,通过在线网站,将pdf转为png 3,将png粘贴到word中即可 背景0 今天做了一个相关性分析,以及可视化.可视化的图我在Rstudio中保存为p ...

最新文章

  1. This function or variable may be unsafe
  2. json - 如何在 flutter 中的List String中加入2 json值?
  3. 洛谷P3763 [Tjoi2017]DNA 【后缀数组】
  4. redis储存List类型数据
  5. SAP UI5 的本地 Fiori sandbox Launchpad
  6. failed to keep to the max pss of 66560
  7. Python常用小技巧(二)——打开图片
  8. MVC一个action对应多个视图的写法
  9. 斯坦福经典AI课程CS 221官方笔记来了!机器学习模型、贝叶斯网络等重点速查...
  10. nRF52840(一) 环境搭建
  11. 最全地理数据下载地址/全国地表径流量数据获取/土地利用数据/植被类型数据/NPP数据/土壤侵蚀数据/土壤质地分类/降雨量栅格数据/太阳辐射量数据
  12. C语言打印三角形,倒三角形,打印沙漏图形
  13. Redis分布式锁----悲观锁实现,以秒杀系统为例 - 林炳文Evankaka的专栏 - CSDN博客
  14. 对象存储 Object Storage
  15. csp怎么给线条描边,插画师要失业了?还在纠结阴影怎么画?CSP软件能直接自动生成...
  16. 计算机怎么格式化硬盘,电脑怎么格式化硬盘
  17. 对spring boot yml配置文件敏感信息加密处理的两种方式
  18. 基于BIM+GIS技术,如何构建智慧楼宇三维可视化管控平台?
  19. 如何快速学习 ANSYS?
  20. SolrJ更新索引数据

热门文章

  1. 0098 系统设计——Instagram设计
  2. 关于FPGA,小白的入门手册,高手的晋升宝典。
  3. Apache hudi
  4. 用ppt制作java类的_如何在PPT中用文本框制作海报?这个方法很简单,不信来看...
  5. Android 性能优化之旅5 电量优化
  6. Android设计模式--模板方法模式
  7. 【读书笔记】语言基础- Lua语言入门(一)
  8. php早午晚问候语_早午晚问候语
  9. 删除被删除的快捷方式中设置的快捷键
  10. VFP 字符串转数组