博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 实现word 中写入文字图片的解决方案
阅读量:4645 次
发布时间:2019-06-09

本文共 3273 字,大约阅读时间需要 10 分钟。

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

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

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

用到的jar包: 

iText-2.1.5.jar
iText-rtf-2.1.4.jar
iTextAsian.jar

com.lowagie
itext
2.1.5
com.lowagie
itext-rtf
2.1.4
com.itextpdf
itext-asian
5.2.0

/**   

  * 创建word文档 步骤:    

  * 1,建立文档    

  * 2,创建一个书写器    

  * 3,打开文档    

  * 4,向文档中写入数据    

  * 5,关闭文档   

  */   

/**    *    * @Description: 将网页内容导出为word    * @param @param file    * @param @throws DocumentException    * @param @throws IOException 设定文件    * @return void 返回类型    * @throws    */   public static 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(BaseFont.HELVETICA,                  BaseFont.WINANSI, 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即可以放路径又可以放二进制字节流       //       Image img = Image.getInstance("D:\\eclipseWorkspace\\wordTest\\01055378_0.jpg");       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 "";   }

转自:

转载于:https://www.cnblogs.com/jianguang/p/5706937.html

你可能感兴趣的文章
Git 配置
查看>>
测试代码发布到博客效果(使用word发布)
查看>>
LoadRunner-Linux监控工具nmon使用
查看>>
core net 实现post 跟get
查看>>
download fomat install rootfs script
查看>>
免费图标:来自Samuray的免费电视/电影相关图标
查看>>
GitHub万星项目:黑客成长技术清单
查看>>
笔试题:倒置字符串
查看>>
postgresql的启停和创建
查看>>
poj 1149 PIGS 最大流
查看>>
shortcut in windows
查看>>
ASPX页面包含inc文件、用户控件、普通html文件
查看>>
九度OJ 1135:字符串排序 (排序)
查看>>
C6678 PCIe boot default configuration value
查看>>
函数模板
查看>>
java序列化
查看>>
sizeof运算符
查看>>
α训练营——项目任务--界面
查看>>
DAY1-作业
查看>>
关于浮动与清除浮动
查看>>