
java中怎么将word文档怎么生成图片
public class CreateWordDemo{ public void createDocContext(String file)throws DocumentException,IOException { //设置纸张大小 Document document = newDocument(PageSize.A4); //建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中 RtfWriter2.getInstance(document, newFileOutputStream(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 = newParagraph("标题"); //设置标题格式对齐方式 title.setAlignment(Element.ALIGN_CENTER); title.setFont(titleFont); document.add(title); String contextString ="iText是一个能够快速产生PDF文件的java类库。
" + " \n"//换行 +"iText的java类对于那些要产生包含文本," + "表格,图形的只读文档是很有用的。它的类库尤其与javaServlet有很好的给合。
" +"使用iText与PDF能够使你正确的控制Servlet的输出。"; Paragraph context = newParagraph(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); // 设置 Table表格 Table aTable = newTable(3); int width[] = { 25, 25, 50}; aTable.setWidths(width);//设置每列所占比例 aTable.setWidth(90); // 占页面宽度90% aTable.setAlignment(Element.ALIGN_CENTER);//居中显示 aTable.setAlignment(Element.ALIGN_MIDDLE);//纵向居中显示 aTable.setAutoFillEmptyCells(true); //自动填满 aTable.setBorderWidth(1); //边框宽度 aTable.setBorderColor(new Color(0, 125, 255)); //边框颜色 aTable.setPadding(2);//衬距,看效果就知道什么意思了 aTable.setSpacing(3);//即单元格之间的间距 aTable.setBorder(2);//边框 //设置表头 Cell haderCell = newCell("表格表头"); haderCell.setHeader(true); haderCell.setColspan(3); aTable.addCell(haderCell); aTable.endHeaders(); Font fontChinese = new Font(bfChinese, 12, Font.NORMAL,Color.GREEN); Cell cell = new Cell(new Phrase("这是一个测试的 3*3 Table 数据",fontChinese)); cell.setVerticalAlignment(Element.ALIGN_TOP); cell.setBorderColor(new Color(255, 0,0)); cell.setRowspan(2); aTable.addCell(cell); aTable.addCell(newCell("#1")); aTable.addCell(newCell("#2")); aTable.addCell(newCell("#3")); aTable.addCell(newCell("#4")); Cell cell3 = new Cell(new Phrase("一行三列数据",fontChinese)); cell3.setColspan(3); cell3.setVerticalAlignment(Element.ALIGN_CENTER); aTable.addCell(cell3); document.add(aTable); document.add(newParagraph("\n")); //添加图片 Image.getInstance即可以放路径又可以放二进制字节流 Image img =Image.getInstance("d:\\img01800.jpg"); img.setAbsolutePosition(0,0); img.setAlignment(Image.RIGHT);//设置图片显示位置 img.scaleAbsolute(60, 60);//直接设定显示尺寸 //img.scalePercent(50);//表示显示的大小为原尺寸的50% // img.scalePercent(25,12);//图像高宽的显示比例 //img.setRotation(30);//图像旋转一定角度 document.add(img); document.close(); } public static void main(String[] args){ CreateWordDemo word = newCreateWordDemo(); String file ="d:/demo1.doc"; try{ word.createDocContext(file); } catch (DocumentException e){ e.printStackTrace(); } catch (IOException e){ e.printStackTrace(); } } }
java中怎么将word文档怎么生成图片
public class CreateWordDemo{ public void createDocContext(String file)throws DocumentException,IOException { //设置纸张大小 Document document = newDocument(PageSize.A4); //建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中 RtfWriter2.getInstance(document, newFileOutputStream(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 = newParagraph("标题"); //设置标题格式对齐方式 title.setAlignment(Element.ALIGN_CENTER); title.setFont(titleFont); document.add(title); String contextString ="iText是一个能够快速产生PDF文件的java类库。
" + " \n"//换行 +"iText的java类对于那些要产生包含文本," + "表格,图形的只读文档是很有用的。它的类库尤其与javaServlet有很好的给合。
" +"使用iText与PDF能够使你正确的控制Servlet的输出。"; Paragraph context = newParagraph(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); // 设置 Table表格 Table aTable = newTable(3); int width[] = { 25, 25, 50}; aTable.setWidths(width);//设置每列所占比例 aTable.setWidth(90); // 占页面宽度90% aTable.setAlignment(Element.ALIGN_CENTER);//居中显示 aTable.setAlignment(Element.ALIGN_MIDDLE);//纵向居中显示 aTable.setAutoFillEmptyCells(true); //自动填满 aTable.setBorderWidth(1); //边框宽度 aTable.setBorderColor(new Color(0, 125, 255)); //边框颜色 aTable.setPadding(2);//衬距,看效果就知道什么意思了 aTable.setSpacing(3);//即单元格之间的间距 aTable.setBorder(2);//边框 //设置表头 Cell haderCell = newCell("表格表头"); haderCell.setHeader(true); haderCell.setColspan(3); aTable.addCell(haderCell); aTable.endHeaders(); Font fontChinese = new Font(bfChinese, 12, Font.NORMAL,Color.GREEN); Cell cell = new Cell(new Phrase("这是一个测试的 3*3 Table 数据",fontChinese)); cell.setVerticalAlignment(Element.ALIGN_TOP); cell.setBorderColor(new Color(255, 0,0)); cell.setRowspan(2); aTable.addCell(cell); aTable.addCell(newCell("#1")); aTable.addCell(newCell("#2")); aTable.addCell(newCell("#3")); aTable.addCell(newCell("#4")); Cell cell3 = new Cell(new Phrase("一行三列数据",fontChinese)); cell3.setColspan(3); cell3.setVerticalAlignment(Element.ALIGN_CENTER); aTable.addCell(cell3); document.add(aTable); document.add(newParagraph("\n")); //添加图片 Image.getInstance即可以放路径又可以放二进制字节流 Image img =Image.getInstance("d:\\img01800.jpg"); img.setAbsolutePosition(0,0); img.setAlignment(Image.RIGHT);//设置图片显示位置 img.scaleAbsolute(60, 60);//直接设定显示尺寸 //img.scalePercent(50);//表示显示的大小为原尺寸的50% // img.scalePercent(25,12);//图像高宽的显示比例 //img.setRotation(30);//图像旋转一定角度 document.add(img); document.close(); } public static void main(String[] args){ CreateWordDemo word = newCreateWordDemo(); String file ="d:/demo1.doc"; try{ word.createDocContext(file); } catch (DocumentException e){ e.printStackTrace(); } catch (IOException e){ e.printStackTrace(); } } }
用java怎么将word文档转成图片格式
使用 java 操作 openoffice 实现格式转换 辛苦了几天。
不敢独享成果 首先,要安装 openoffice (废话- -) 创建JAVA项目的时候 需要至少以下4个包 juh.jar,jurt.jar,ridl.jar,unoil.jar 以下是路径 ..\OpenOffice.org 2.3\program\classes 我只实现了我要的功能,就是把一种文件格式转成另一种 Java代码 package testh; import java.io.*; import com.sun.star.uno.UnoRuntime; public class testcls { public static void readdoc(String paths, String savepaths) { File d = new File(paths); //取得当前文件夹下所有文件和目录的列表 File lists[] = d.listFiles(); String pathss = new String(""); //对当前目录下面所有文件进行检索 for(int i = 0; i < lists.length;="" i="" ++)="" {="" if(lists[i].isfile())="" {="" string="" filename="lists[i].getName();" string="" filetype="new" string("");="" 取得文件类型="" filetype="filename.substring((filename.length()" -="" 3),="" filename.length());="" 判断是否为doc文件="" if(filetype.equals("doc"))="" {="" system.out.println("当前正在检索。.");="" 打印当前目录路径="" system.out.println(paths);="" 打印doc文件名="" string="" fname="filename.substring(0," (filename.length()="" -="" 4));="" system.out.println("检索到文件"+fname);="" try="" {="" 指定文件路径和名称="" string="" path="savepaths+fname+".html";" file="" outfilename="new" file(path);="" *="" *//**="" *="" 检查文件是否存在.="" *="" @throws="" ioexception="" *="" */="" if="" (!outfilename.exists())="" {="" system.err.println("目标路径无同名文件,开始转换");="" system.out.print("正在转换文件:"+fname);="" dump(paths,fname,savepaths);="" }="" else="" {="">
\n"); continue; } RandomAccessFile mm = null; } catch(Exception e) { e.printStackTrace(); } } } } } public static void Dump(String FilePath,String FileName,String OutPath) { com.sun.star.uno.XComponentContext xContext = null; try { // get the remote office component context xContext = com.sun.star.comp.helper.Bootstrap.bootstrap(); System.out.println("Connected to a running office 。"); // get the remote office service manager com.sun.star.lang.XMultiComponentFactory xMCF = xContext.getServiceManager(); Object oDesktop = xMCF.createInstanceWithContext( "com.sun.star.frame.Desktop", xContext); com.sun.star.frame.XComponentLoader xCompLoader = (com.sun.star.frame.XComponentLoader) UnoRuntime.queryInterface( com.sun.star.frame.XComponentLoader.class, oDesktop); java.io.File sourceFile = new java.io.File(FilePath+FileName+".doc");//读取的文件 StringBuffer sLoadUrl = new StringBuffer("file:///"); sLoadUrl.append(sourceFile.getCanonicalPath().replace('\\', '/')); sourceFile = new java.io.File(OutPath+FileName+".html");//输出的文件 System.out.print(OutPath+" "+FileName); StringBuffer sSaveUrl = new StringBuffer("file:///"); sSaveUrl.append(sourceFile.getCanonicalPath().replace('\\', '/')); com.sun.star.beans.PropertyValue[] propertyValue = new com.sun.star.beans.PropertyValue[1]; propertyValue[0] = new com.sun.star.beans.PropertyValue(); propertyValue[0].Name = "Hidden"; propertyValue[0].Value = new Boolean(true); Object oDocToStore = xCompLoader.loadComponentFromURL( sLoadUrl.toString(), "_blank", 0, propertyValue ); com.sun.star.frame.XStorable xStorable = (com.sun.star.frame.XStorable)UnoRuntime.queryInterface( com.sun.star.frame.XStorable.class, oDocToStore ); propertyValue = new com.sun.star.beans.PropertyValue[ 2 ]; propertyValue[0] = new com.sun.star.beans.PropertyValue(); propertyValue[0].Name = "Overwrite"; propertyValue[0].Value = new Boolean(true); propertyValue[1] = new com.sun.star.beans.PropertyValue(); propertyValue[1].Name = "FilterName"; propertyValue[1].Value = "HTML (StarWriter)";//你一定发现了,把这里改成其他参数,可以保存为不同的文件 MS Word 97,writer_pdf_Export xStorable.storeAsURL( sSaveUrl.toString(), propertyValue ); System.out.println("\nDocument \"" + sLoadUrl + "\" saved under \"" + sSaveUrl + "\"\n"); com.sun.star.util.XCloseable xCloseable = (com.sun.star.util.XCloseable) UnoRuntime.queryInterface(com.sun.star.util.XCloseable.class, oDocToStore ); if (xCloseable != null ) { xCloseable.close(false); } else { com.sun.star.lang.XComponent xComp = (com.sun.star.lang.XComponent) UnoRuntime.queryInterface( com.sun.star.lang.XComponent.class, oDocToStore ); xComp.dispose(); } System.out.println("document closed!"); } catch( Exception e ) { e.printStackTrace(。
JAVA编辑WORD文件插入图片
试试这个代码,需要添加spire.doc jar依赖 import com.spire.doc.Document;import com.spire.doc.FileFormat;import com.spire.doc.Section;import com.spire.doc.documents.*;import com.spire.doc.fields.DocPicture;public class InsertImage { public static void main(String[] args) { //实例化Document对象 Document doc = new Document(); //加载文档 doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\test.docx"); //获取第一个section Section section = doc.getSections().get(0); //添加一个段落 Paragraph para = section.addParagraph(); //添加图片到段落 DocPicture picture = para.appendPicture("C:\\Users\\Administrator\\Desktop\\Cartoon.png"); //设置文字环绕方式(居于文字上方) picture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); //指定图片的相对位置 picture.setHorizontalOrigin(HorizontalOrigin.Page); picture.setHorizontalPosition(250f); picture.setVerticalOrigin(VerticalOrigin.Top_Margin_Area); picture.setVerticalPosition(150f); //设置图片大小 picture.setWidth(80f); picture.setHeight(80f); //保存到文档 doc.saveToFile("output/InsertImage.docx", FileFormat.Docx); }}生成的Word: 。
用java怎么将word文档转成图片格式
使用 java 操作 openoffice 实现格式转换 辛苦了几天。
不敢独享成果 首先,要安装 openoffice (废话- -) 创建JAVA项目的时候 需要至少以下4个包 juh.jar,jurt.jar,ridl.jar,unoil.jar 以下是路径 ..\OpenOffice.org 2.3\program\classes 我只实现了我要的功能,就是把一种文件格式转成另一种 Java代码 package testh; import java.io.*; import com.sun.star.uno.UnoRuntime; public class testcls { public static void readdoc(String paths, String savepaths) { File d = new File(paths); //取得当前文件夹下所有文件和目录的列表 File lists[] = d.listFiles(); String pathss = new String(""); //对当前目录下面所有文件进行检索 for(int i = 0; i < lists.length;="" i="" ++)="" {="" if(lists[i].isfile())="" {="" string="" filename="lists[i].getName();" string="" filetype="new" string("");="" 取得文件类型="" filetype="filename.substring((filename.length()" -="" 3),="" filename.length());="" 判断是否为doc文件="" if(filetype.equals("doc"))="" {="" system.out.println("当前正在检索。.");="" 打印当前目录路径="" system.out.println(paths);="" 打印doc文件名="" string="" fname="filename.substring(0," (filename.length()="" -="" 4));="" system.out.println("检索到文件"+fname);="" try="" {="" 指定文件路径和名称="" string="" path="savepaths+fname+".html";" file="" outfilename="new" file(path);="" *="" *//**="" *="" 检查文件是否存在.="" *="" @throws="" ioexception="" *="" */="" if="" (!outfilename.exists())="" {="" system.err.println("目标路径无同名文件,开始转换");="" system.out.print("正在转换文件:"+fname);="" dump(paths,fname,savepaths);="" }="" else="" {="">
\n"); continue; } RandomAccessFile mm = null; } catch(Exception e) { e.printStackTrace(); } } } } } public static void Dump(String FilePath,String FileName,String OutPath) { com.sun.star.uno.XComponentContext xContext = null; try { // get the remote office component context xContext = com.sun.star.comp.helper.Bootstrap.bootstrap(); System.out.println("Connected to a running office 。"); // get the remote office service manager com.sun.star.lang.XMultiComponentFactory xMCF = xContext.getServiceManager(); Object oDesktop = xMCF.createInstanceWithContext( "com.sun.star.frame.Desktop", xContext); com.sun.star.frame.XComponentLoader xCompLoader = (com.sun.star.frame.XComponentLoader) UnoRuntime.queryInterface( com.sun.star.frame.XComponentLoader.class, oDesktop); java.io.File sourceFile = new java.io.File(FilePath+FileName+".doc");//读取的文件 StringBuffer sLoadUrl = new StringBuffer("file:///"); sLoadUrl.append(sourceFile.getCanonicalPath().replace('\\', '/')); sourceFile = new java.io.File(OutPath+FileName+".html");//输出的文件 System.out.print(OutPath+" "+FileName); StringBuffer sSaveUrl = new StringBuffer("file:///"); sSaveUrl.append(sourceFile.getCanonicalPath().replace('\\', '/')); com.sun.star.beans.PropertyValue[] propertyValue = new com.sun.star.beans.PropertyValue[1]; propertyValue[0] = new com.sun.star.beans.PropertyValue(); propertyValue[0].Name = "Hidden"; propertyValue[0].Value = new Boolean(true); Object oDocToStore = xCompLoader.loadComponentFromURL( sLoadUrl.toString(), "_blank", 0, propertyValue ); com.sun.star.frame.XStorable xStorable = (com.sun.star.frame.XStorable)UnoRuntime.queryInterface( com.sun.star.frame.XStorable.class, oDocToStore ); propertyValue = new com.sun.star.beans.PropertyValue[ 2 ]; propertyValue[0] = new com.sun.star.beans.PropertyValue(); propertyValue[0].Name = "Overwrite"; propertyValue[0].Value = new Boolean(true); propertyValue[1] = new com.sun.star.beans.PropertyValue(); propertyValue[1].Name = "FilterName"; propertyValue[1].Value = "HTML (StarWriter)";//你一定发现了,把这里改成其他参数,可以保存为不同的文件 MS Word 97,writer_pdf_Export xStorable.storeAsURL( sSaveUrl.toString(), propertyValue ); System.out.println("\nDocument \"" + sLoadUrl + "\" saved under \"" + sSaveUrl + "\"\n"); com.sun.star.util.XCloseable xCloseable = (com.sun.star.util.XCloseable) UnoRuntime.queryInterface(com.sun.star.util.XCloseable.class, oDocToStore ); if (xCloseable != null ) { xCloseable.close(false); } else { com.sun.star.lang.XComponent xComp = (com.sun.star.lang.XComponent) UnoRuntime.queryInterface( com.sun.star.lang.XComponent.class, oDocToStore ); xComp.dispose(); } System.out.println("document closed!"); } catch( Exception e ) { e.printStackTrace(System.err); System.exit(1); } } public static void main(String args[]) throws Exception { String paths = new String("c:\\a\\"); String savepaths = new String ("f:\\"); readdoc(paths,savepaths); } }
怎么用java导出word
java导出word代码如下:package com.bank.util;import java.awt.Color;import java.io.FileOutputStream;import java.io.IOException;import com.lowagie.text.Cell;import com.lowagie.text.Document;import com.lowagie.text.DocumentException;import com.lowagie.text.Element;import com.lowagie.text.Font;import com.lowagie.text.FontFactory;import com.lowagie.text.Image;import com.lowagie.text.PageSize;import com.lowagie.text.Paragraph;import com.lowagie.text.Phrase;import com.lowagie.text.Table;import com.lowagie.text.pdf.BaseFont;import com.lowagie.text.rtf.RtfWriter2;public class WordTools { public void createDocContext(String file) throws DocumentException, IOException { // 设置纸张大小 Document document = new Document(PageSize.A4); // 建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中 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可以设置各种各样字体样式 /** * Font.UNDERLINE 下划线,Font.BOLD 粗体 */ Paragraph underline = new Paragraph("下划线的实现", FontFactory.getFont( FontFactory.HELVETICA_BOLDOBLIQUE, 18, Font.UNDERLINE, new Color(0, 0, 255))); document.add(underline); // 设置 Table 表格 Table aTable = new Table(3); int width[] = {25,25,50}; aTable.setWidths(width);//设置每列所占比例 aTable.setWidth(90); // 占页面宽度 90% aTable.setAlignment(Element.ALIGN_CENTER);//居中显示 aTable.setAlignment(Element.ALIGN_MIDDLE);//纵向居中显示 aTable.setAutoFillEmptyCells(true); //自动填满 aTable.setBorderWidth(1); //边框宽度 aTable.setBorderColor(new Color(0, 125, 255)); //边框颜色 aTable.setPadding(0);//衬距,看效果就知道什么意思了 aTable.setSpacing(0);//即单元格之间的间距 aTable.setBorder(2);//边框 //设置表头 /** * cell.setHeader(true);是将该单元格作为表头信息显示; * cell.setColspan(3);指定了该单元格占3列; * 为表格添加表头信息时,要注意的是一旦表头信息添加完了之后, \ * 必须调用 endHeaders()方法,否则当表格跨页后,表头信息不会再显示 */ Cell haderCell = new Cell("表格表头"); haderCell.setHeader(true); haderCell.setColspan(3); aTable.addCell(haderCell); aTable.endHeaders(); Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, Color.GREEN); Cell cell = new Cell(new Phrase("这是一个测试的 3*3 Table 数据", fontChinese )); cell.setVerticalAlignment(Element.ALIGN_TOP); cell.setBorderColor(new Color(255, 0, 0)); cell.setRowspan(2); aTable.addCell(cell); aTable.addCell(new Cell("#1")); aTable.addCell(new Cell("#2")); aTable.addCell(new Cell("#3")); aTable.addCell(new Cell("#4")); Cell cell3 = new Cell(new Phrase("一行三列数据", fontChinese )); cell3.setColspan(3); cell3.setVerticalAlignment(Element.ALIGN_CENTER); aTable.addCell(cell3); document.add(aTable); document.add(new Paragraph("\n")); //添加图片// Image img=Image.getInstance("http://127.0.0.1:8080/testSystem/images/1_r1_c1.png");// img.setAbsolutePosition(0, 0);// img.setAlignment(Image.RIGHT);//设置图片显示位置// img.scaleAbsolute(12,35);//直接设定显示尺寸// img.scalePercent(50);//表示显示的大小为原尺寸的50%// img.scalePercent(25, 12);//图像高宽的显示比例// img.setRotation(30);//图像旋转一定角度// document.add(img); document.close(); } public static void main(String[] args){ WordTools b=new WordTools(); try { b.createDocContext("d:/demo.doc"); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOExceptio。
转载请注明出处51数据库 » java生成word图片
奔跑的二大爷S