
正文
word文档Java代码 word java
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java怎么给word文档加水印
可以使用Free Spire.Doc for Java在word文档中添加文本水印或图片水印。Free Spire.Doc for Java下载链接word文档Java代码:网页链接
1.添加文本水印——代码如下word文档Java代码:
import com.spire.doc.*;
import com.spire.doc.documents.WatermarkLayout;
import java.awt.*;
public class WordTextWatermark {
public static void main(String[] args) {
Document document = new Document();
document.loadFromFile("Sample.docx");
insertTextWatermark(document.getSections().get(0));
}
private static void insertTextWatermark(Section section) {
TextWatermark txtWatermark = new TextWatermark();
txtWatermark.setText("内部使用");
txtWatermark.setFontSize(40);
txtWatermark.setColor(Color.red);
txtWatermark.setLayout(WatermarkLayout.Diagonal);
section.getDocument().setWatermark(txtWatermark);
}
}
2.添加图片水印——代码如下word文档Java代码:
import com.spire.doc.*;
public class WordImageWatermark {
public static void main(String[] args) throws Exception{
Document document = new Document();
document.loadFromFile("Sample.docx");
PictureWatermark picture = new PictureWatermark();
picture.setPicture("logo.png");
picture.setScaling(5);
picture.isWashout(false);
document.setWatermark(picture);
document.saveToFile("out/result2.docx",FileFormat.Docx )
}
}
相关问答
Q1: 用java代码怎么给word中的文字加链接 代码该怎么写
建议可以用第三方word文档Java代码,你参考下spire.doc for java的超链接设置方法word文档Java代码,代码方案:Java 添加超链接到Word文档word文档Java代码,包括了给文字添加链接word文档Java代码,给图片添加链接word文档Java代码,添加网页链接、邮箱链接、文档链接不同类型的链接。
Q2: java操作word
最近在做项目的时候需要这么一个功能 客户有一大堆word格式的模板 需要我们用程序向模板里面填充一些数据 如果是直接重新写一个Word 用POI或Itext都可以搞定 关键是读取并解析 而且Word里有表格 图片等其他东西 这两个框架要解析就比较麻烦 然而用jacob却可以轻松搞定
下面是借鉴了别人已经包装好了的代码
import jacob activeX ActiveXComponent;
import Dispatch;
import Variant;
public class WordHandle{
//运行时的Word程序
private ActiveXComponent app;
//word对象
private Dispatch words;
//当前的word文档
private Dispatch doc;
//当前光标位置
private Dispatch cursor;
//当前文档是否只读
private boolean readOnly;
//当前文档中所有表格
private Dispatch tables;
//当前所在表格
private Dispatch table;
private int count;
public WordHandle()
{
this app = new ActiveXComponent( Word Application );
this app setProperty( Visible new Variant(false)); // 设置word不可见
words = this app getProperty( Documents ) toDispatch();
this doc = null;
this cursor = null;
this readOnly = true;
unt = ;
}
public boolean open(String fileName boolean readOnly) throws Exception
{
if (doc != null)
{
System out println( 当前文件未关闭 );
return false;
}
this doc = Dispatch invoke(this words Open Dispatch Method new Object[] {fileName new Variant(false) new Variant(readOnly)} new int[ ]) toDispatch();
this cursor = app getProperty( Selection ) toDispatch();
this tables = Dispatch get(this doc Tables ) toDispatch();
this readOnly = readOnly;
unt = Dispatch get(Dispatch get(this doc Words ) toDispatch() Count ) getInt() ;
System out println( 打开文件 + fileName + (readOnly ? ReadOnly : Writable ));
return true;
}
public boolean newFile() throws Exception
{
if (doc != null)
{
System out println( 当前文件未关闭 );
return false;
}
this doc = Dispatch call(this words Add ) toDispatch();
this readOnly = false;
this cursor = app getProperty( Selection ) toDispatch();
this tables = Dispatch get(this doc Tables ) toDispatch();
System out println( 新建word文档 );
return true;
}
public boolean close()
{
String fileName = null;
if (this doc != null)
{
try
{
fileName = Dispatch get(this doc Name ) getString();
Dispatch call(this doc Close new Variant(false));
}
catch (Exception e)
{
e printStackTrace();
}
finally
{
this doc = null;
}
}
System out println( 关闭文件 + fileName);
return true;
}
public boolean quit()
{
try
{
this app invoke( Quit new Variant[] {});
}
catch (Exception e)
{
e printStackTrace();
}
System out println( 退出word );
return true;
}
public boolean saveAs(String fileName) throws Exception
{
if (this doc == null)
{
System out println( 当前无文件 );
return false;
}
else
{
Dispatch call(this doc SaveAs fileName);
System out println( 另存为 + fileName);
return true;
}
}
public boolean save() throws Exception
{
if (this doc == null)
{
System out println( 当前无文档 无法保存 );
return false;
}
else
{
if (this readOnly)
{
System out println( 只读文档 保存失败 );
return false;
}
Dispatch call(this doc Save );
System out println( 保存完成 );
return true;
}
}
public boolean moveRight(int steps) throws Exception
{
//int start = Dispatch get(this cursor Start ) getInt();
//Dispatch put(this cursor Start start + steps);
for (int i= ; isteps; i++)
{
Dispatch call(cursor MoveRight );
}
return true;
}
public boolean moveLeft(int steps) throws Exception
{
for (int i= ; isteps; i++)
{
Dispatch call(cursor MoveLeft );
}
return true;
}
public int search(String str) throws Exception
{
// 从cursor所在位置开始查询
Dispatch find = Dispatch call(this cursor Find ) toDispatch();
// 设置要查找的内容
Dispatch put(find Text str);
// 向前查找
Dispatch put(find Forward True );
// 设置格式
Dispatch put(find Format True );
// 大小写匹配
Dispatch put(find MatchCase True );
// 全字匹配
Dispatch put(find MatchWholeWord True );
// 查找
if (!Dispatch call(find Execute ) getBoolean())
return ;
else
{
return Dispatch get(this cursor Start ) getInt();
}
}
public int searchOnly(String str) throws Exception
{
// 从cursor所在位置开始查询
Dispatch find = Dispatch call(this cursor Find ) toDispatch();
// 设置要查找的内容
Dispatch put(find Text str);
// 向前查找
Dispatch put(find Forward True );
// 大小写匹配
Dispatch put(find MatchCase True );
// 全字匹配
Dispatch put(find MatchWholeWord True );
if (!Dispatch call(find Execute ) getBoolean())
return ;
else
{
int start = Dispatch get(this cursor Start ) getInt();
Dispatch put(this cursor End unt);
//System out println(start);
return start;
}
}
public String getBeeen(int start int end) throws Exception
{
Dispatch range = Dispatch get(this cursor Range ) toDispatch();
Dispatch call(range SetRange start end);
return Dispatch get(range Text ) getString();
}
public String getLineAfter(int start) throws Exception
{
Dispatch put(this cursor Start start);
int length = Dispatch call(this cursor EndKey ) getInt() + start;
return getBeeen(start length);
}
public String getLine(int position) throws Exception
{
Dispatch put(this cursor Start position);
Dispatch call(this cursor SelectRow );
int start = Dispatch get(this cursor Start ) getInt();
int end = Dispatch get(this cursor End ) getInt();
return getBeeen(start start + end);
}
public boolean gotoPage(int index) throws Exception
{
Dispatch invoke(this cursor Goto Dispatch Method new Object[] { String valueOf(index)} new int[ ]);
//Dispatch call(this cursor GoTo wdGoToLine wdGoToNext String valueOf(index) null);
return true;
}
public int getCurrentCursor() throws Exception
{
return Dispatch get(this cursor Start ) getInt();
}
public boolean setCursorMode() throws Exception
{
Dispatch put(this cursor End Dispatch get(this cursor Start ) getInt());
return true;
}
public boolean gotoHome() throws Exception
{
Dispatch put(this cursor Start );
return true;
}
public boolean insert(int steps String str) throws Exception
{
int start = Dispatch get(this cursor Start ) getInt() + steps;
Dispatch put(this cursor Start start);
Dispatch call(this cursor InsertBefore str);
//this getCount();
Dispatch put(this cursor Start start + str length());
//System out println(Dispatch get(this cursor Start ) getInt() + + (Dispatch get(this cursor Start ) getInt()+Dispatch get(this cursor End ) getInt()));
return true;
}
public boolean replace(String str) throws Exception
{
Dispatch put(this cursor Text str);
return true;
}
public int getTableNum() throws Exception
{
return Dispatch get(this tables Count ) getInt();
}
public boolean setCurrentTable(int index) throws Exception
{
this table = Dispatch call(this tables Item new Variant(index)) toDispatch();
Dispatch call(this table Select );
return true;
}
public String getCell(int row int col) throws Exception
{
Dispatch cell = Dispatch call(table Cell Integer toString(row) Integer toString(col)) toDispatch();
Dispatch call(cell Select );
String tmp = Dispatch get(this cursor Text ) getString();
//System out println( + tmp);
if (tmp length() )
{
return tmp substring( tmp length() );
}
else
return ;
}
public boolean replaceCell(int row int col String str) throws Exception
{
Dispatch cell = Dispatch call(table Cell Integer toString(row) Integer toString(col)) toDispatch();
Dispatch call(cell Select );
Dispatch put(this cursor Text str);
return true;
}
public static void main(String args[])
{
WordHandle word = new WordHandle();
try
{
word open( D://doc//tax//开业登记合并事项实地调查表 doc false);
System out println(word getTableNum());
word setCurrentTable( );
word replaceCell( old Name );
word replaceCell( 经营范围 );
word replaceCell( );
word replaceCell( );
word replaceCell( );
word saveAs( D://开业登记合并事项实地调查表 doc );
word close();
word quit();
}
catch (Exception e)
{
}
}
}
当然要运行上面的代码需要下载jacob 下载地址为 project
lishixinzhi/Article/program/Java/hx/201311/26729
Q3: Office Word中想插入一段Java(或其它语言)的代码,有什么好的代码模板?
打开word文档,插入,对象,新建,OpenDocument文本,这里等待粘入代码。
在VS2017或者其他IDE或者notpad++,例如,我用了notpad++,选择(插件)Plugins→NppExport→Copy all formats to clipboard,然后粘贴过去,即可。
word文档Java代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于word java、word文档Java代码的信息别忘了在本站进行查找喔。





