導航:首頁 > 文字圖片 > javaword圖片

javaword圖片

發布時間:2022-01-06 07:52:48

1. 用Java從word中提取出圖片

因為太長了, 我放我空間了
思路是2003以後, word就可存為xml, 二進制數據按base64編碼
然後可以按解析xml文檔方式獲取圖片數據
然後對它進行解碼--

2. java想要對已有word文檔追加圖片,應該怎麼

以前做過其他office的沒做過微軟的,不過大同小異
這個你就需要在java中獲取到word的某種對象,方法有很多,但是要看你用什麼方式調用的office了,如果是某個牌子的中間件,那就用那個中間件的二次開發文檔裡面應該就有提到這些方法,如果是第三方的jar包,應該也不麻煩,通過jar包中的方法,可能要有一個word的實例創建的過程吧,然後獲取到range或者textrange等這些對象(應該是這倆對象……)通過這對象然後找到插入圖片的方法,然後傳入位置參數(可能是兩個數用逗號隔開)

3. 請問高手怎樣用java在word里插入一張圖呢

可以用wordapi組件來完成
import com.heavenlake.wordapi.Document;
public class test {
public test() {
Document doc = null;
try {
doc = new Document();
doc.open("e:/test.doc");//打開文件
doc.insert("第一章:嘻嘻哈哈","biaoti");//插入文字
doc.insertAtBookmark("testbookm","第一章:嘻嘻哈哈","標題");
doc.insertAtBookmark("testbookm",
new java.io.File("E:/照片/DSC236.JPG"));//插入圖片
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try {
if(doc!=null) doc.close(true);
}
catch (Exception e) {
e.printStackTrace();
}

}

}

public static void main(String[] args) {
test test1 = new test();
}

}

4. java 如何使用poi 在word 中插入圖片和數據,給我一個實現的例子,

實際上還真就得一個一個set進去
我現在做的程序就有這部分機能,思路就是excel→sheet→row
然後遍歷所有row,取出所有的cell放到一個存儲用結構體中。
無論如何,解析的過程都需要自己來寫的。
=======================================================
你的想法我明白,其實就是想要一個java與poi的databinding,定義好的數據模塊可以自動和excel的對應列進行匹配。但是這個東西確實就沒有啊,人家只封裝了讀取excel內容,沒有提供這樣的模塊,只有自己寫啊。即使是60個列,事實上綁定的邏輯也就只用寫一次,而且大部分的內容只要復制粘貼就好了。
如果像下面說的做循環,賦值簡單了,可是用的時候就痛苦了,要取某一個欄位的時候難道要用數組下標去取?
PS 鄙視5樓的,人家要的是數據導入,拷貝一段倒出的處理來。

5. 請教:如何用JAVA POI 向Word文檔里插圖片 請提供下代碼 謝謝!!!

樓主你可以這樣操作,導入java.io.*。org.apache.poi.hwpf.*。org.apache.poi.hwpf.usermodel.Picture

String savePath= "c:\\temp\\";
String docFile= savePath+ "test.doc";
String imgFile= savePath+ "img.jpg";

HWPFDocument poiDoc = new HWPFDocument(new FileInputStream(docFile));
List picList=poiDoc.getPicturesTable().getAllPictures();
Picture picture=(Picture)picList.get(0);
try {
picture.writeImageContent(new FileOutputStream(imgFile));
} catch (FileNotFoundException e) {
e.printStackTrace();
}

6. 用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
{
System.out.print("文件已存在,放棄創建,請處理存在文件後再運行...\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);

}

}

7. JAVA編輯WORD文件插入圖片

試試這個代碼,需要添加spire.doc jar依賴

importcom.spire.doc.Document;
importcom.spire.doc.FileFormat;
importcom.spire.doc.Section;
importcom.spire.doc.documents.*;
importcom.spire.doc.fields.DocPicture;

publicclassInsertImage{

publicstaticvoidmain(String[]args){

//實例化Document對象
Documentdoc=newDocument();
//載入文檔
doc.loadFromFile("C:\Users\Administrator\Desktop\test.docx");
//獲取第一個section
Sectionsection=doc.getSections().get(0);
//添加一個段落
Paragraphpara=section.addParagraph();
//添加圖片到段落
DocPicturepicture=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:

8. java中怎麼將word文檔怎麼生成圖片

public class CreateWordDemo
{

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可以設置各種各樣字體樣式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(2);//
襯距,看效果就知道什麼意思了

aTable.setSpacing(3);//
即單元格之間的間距

aTable.setBorder(2);//
邊框
//
設置表頭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.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 = new
CreateWordDemo();

String file =
"d:/demo1.doc";

try
{

word.createDocContext(file);

} catch (DocumentException e)
{

e.printStackTrace();

} catch (IOException e)
{

e.printStackTrace();

}

}
}

9. 用java如何添加圖片到word中,是直接添加不是解析,最好能有代碼

首先你得打開這個word文檔,然後你再把這個圖片做成文件流的格式,然後把它寫進去。
但是這個過程如果你用java自帶的文件流格式打開的話,寫進去會是亂碼。我做過的方法是用開源框架包,poi.jar可以用來做有關office的打開、寫入、讀出等操作,具體代碼沒有了,但是demo裡面的代碼都已經足夠了,你自己稍微看看就能知道怎麼做了。這個包還是比較穩定的。

閱讀全文

與javaword圖片相關的資料

熱點內容
張泉林紫砂壺價格圖片 瀏覽:930
簡單景觀牆的畫法圖片 瀏覽:814
男生燙發圖片女2021最新款 瀏覽:231
在百度怎麼上傳圖片 瀏覽:603
簡單情侶圖案大全圖片大全圖片 瀏覽:12
選中區域圖片如何旋轉 瀏覽:28
好可愛小七圖片 瀏覽:688
中卷發燙發發型圖片 瀏覽:388
大學美女全身圖片 瀏覽:849
日本女生生理課圖片 瀏覽:263
word文檔圖片如何做鏈接 瀏覽:229
兩個酷女孩圖片 瀏覽:419
兵哥哥發型圖片男生 瀏覽:217
ps如何導出96pdi圖片 瀏覽:745
歲的文字圖片 瀏覽:215
淡了男生圖片 瀏覽:371
金龍魚圖片價格 瀏覽:314
手機如何把圖片弄成實體 瀏覽:263
怪物英雄可愛圖片 瀏覽:612
男人像女孩的圖片 瀏覽:688