1.java实现插入word页眉页脚以及生成目录及页码
public class JavaToWords {
/**
* word运行程序对象
*/
private ActiveXComponent word;
/**
* 选定内容
* @return Dispatch 选定的范围或插入点
*/
public Dispatch select() {
return word.getProperty("Selection").toDispatch();
}
public void toWord(String seekView) {
Dispatch selection = select();
//设置页眉
if(seekView != null && !"".equals(seekView)){
//取得活动窗体对象
Dispatch ActiveWindow = word.getProperty("ActiveWindow").toDispatch();
//取得活动窗格对象
Dispatch ActivePane = Dispatch.get(ActiveWindow,"ActivePane").toDispatch();
//取得视窗对象
Dispatch View = Dispatch.get(ActivePane, "View").toDispatch();
try{
Dispatch.put(View,"SeekView", "9"); //设置页眉
Dispatch.put(selection,"Text",seekView);
Dispatch.put(View, "SeekView", "10"); // 10是设置页脚
Dispatch.put(selection, "Text", seekView); //
}finally{
if(ActiveWindow != null ) ActiveWindow.safeRelease();
if(ActivePane != null ) ActivePane.safeRelease();
if(View != null ) View.safeRelease();
}
}
}
}
希望对你有些帮助,不过好像要下一个外部资源包,叫jacob 的,我也记的不太清楚了,应该是这个,你找找看
2.java实现插入word页眉页脚以及生成目录及页码
public class JavaToWords { /** * word运行程序对象 */ private ActiveXComponent word; /** * 选定内容 * @return Dispatch 选定的范围或插入点 */ public Dispatch select() { return word.getProperty("Selection").toDispatch(); }public void toWord(String seekView) {Dispatch selection = select();//设置页眉if(seekView != null && !"".equals(seekView)){//取得活动窗体对象 Dispatch ActiveWindow = word.getProperty("ActiveWindow").toDispatch(); //取得活动窗格对象 Dispatch ActivePane = Dispatch.get(ActiveWindow,"ActivePane").toDispatch(); //取得视窗对象 Dispatch View = Dispatch.get(ActivePane, "View").toDispatch(); try{ Dispatch.put(View,"SeekView", "9"); //设置页眉 Dispatch.put(selection,"Text",seekView); Dispatch.put(View, "SeekView", "10"); // 10是设置页脚Dispatch.put(selection, "Text", seekView); // }finally{if(ActiveWindow != null ) ActiveWindow.safeRelease();if(ActivePane != null ) ActivePane.safeRelease();if(View != null ) View.safeRelease();}}}}希望对你有些帮助,不过好像要下一个外部资源包,叫jacob 的,我也记的不太清楚了,应该是这个,你找找看。
3.跪求java实现对有内容的word文档添加页眉,jacob、poi、itext都没尝
XWPFHeaderFooterPolicy policy = sampleDoc.getHeaderFooterPolicy();
if (policy.getDefaultHeader() == null && policy.getFirstPageHeader() == null
&& policy.getDefaultFooter() == null) {
// Need to create some new headers
// The easy way, gives a single empty paragraph
XWPFHeader headerD = policy.createHeader(policy.DEFAULT);
headerD.getParagraphs(0).createRun().setText("Hello Header World!");
// Or the full control way
CTP ctP1 = CTP.Factory.newInstance();
CTR ctR1 = ctP1.addNewR();
CTText t = ctR1.addNewT();
t.setStringValue("Paragraph in header");
XWPFParagraph p1 = new XWPFParagraph(ctP1, sampleDoc);
XWPFParagraph[] pars = new XWPFParagraph[1];
pars[0] = p1;
policy.createHeader(policy.FIRST, pars);
} else {
// Already has a header, change it
}
参考这段代码来写,有问题查一下XWPFHeaderFooterPolicy 这个api的用法,有问题请追问
满意请采纳
4.我想知道,用java编写一个word怎么做
思路是吧,你先研究一下html之类,作为现成的文字排版格式,想自己创造一个也可以,不过又麻烦又不好。
然后你就搞那个JTextPane还是什么(用了好久c有些忘了java的swing里的东西了),让他可以根据html的格式(包括字体颜色图片之类)调整显示。不知道JTextPane行不行,如果不行的话你就参照JTextPane的代码,继承它的父类自己写一个。
JLabel不要考虑。设置一些全局变量,这些变量可以在“设置”中更改(如字体),在打字的时候,根据这些全局变量自动加入html的一些符号。
差不多就这些。不过这个工程比较复杂而且不会有人使用,纯为练习就做吧,否则尽量别做,没啥意思。
问你个问题,你用什么写的?JTextPane?用什么写的就写一个类继承它,加一个页眉页脚~分页的话我暂时没想出好办法来。
不知道你有没有考虑过java 2d。
实在不行用那个。
毕竟swt这些东西都固化的太厉害了。不适合编写word。
5.java 设置word页面布局 分栏
Word2007中分栏的两种方法
由于排版的需要,会在一张纸上写两列文字或多列文字,在页面上左右分开,这就是分栏。常用有两种方法。
在Word中,一个页面通常作为一个整栏进行处理,也就是一段文字从左面页边距处一直排到右面页边距处再换行。但有时由于排版的需要,会在一张纸上写两列文字或多列文字,在页面上左右分开,这就是分栏。
合理地对文档分栏既能方便读者阅读,又能梅花页面,有时还可以节约版面。在Word中既可以容易地生成分栏,还可以在不同节中有不同的栏数和格式。对版面进行分栏有两种方法:一是简单分栏,二是精确分栏。
单击“页面布局”选项卡,在“页面布局”功能区中单击“分栏”按钮,打开一个下拉菜单,如下图所示,从中选择相应的栏数即可。
各分栏意义如下:
一栏:表示不对文档进行文档,或取消原来的文档。
二栏:以页面中线为基准,分为左右两栏。
三栏:将页面平均分为左、中、右三栏。
偏左:分成两栏,右面的分栏比左面的分栏要宽一些。
偏右:分成两栏,左面的分栏比右面的分栏要宽一些。
1、在“页面布局”功能区中单击“分栏”按钮,打开一个下拉菜单,从中选择“更多分栏”命令,打开如下图所示的“分栏”对话框。
2、在“预设”选项组中选择分栏的格式,有“一栏”、“两栏”、“三栏”、“左”和“右”五种分栏格式可以选择。
3、如果对“预设”选项组中的分栏格式不太满意,可以在“栏数”微调框中输入所要分割的栏数。微调框中最大分栏数根据纸张的不同而不同。
4、如果要使各栏等宽,则选中“栏宽相等”。如果不选中“栏宽相等”,可以在“宽度和间距”选项组中设置各栏的栏宽和间距。
5、如果要在各栏之间加入分隔线,需要选中“分隔线”复选框。
6、在“应用于”下拉列表中选择分栏的范围。
7、完成设置后,单击“确定”按钮即可。
转载请注明出处51数据库 » java操作word页眉