项目中用到了横向打印,今天重新更新了这个脚本.
<html>
<head>
<title>web页面导出为word文档后分页&横向打印的方法 title>
head>
<script language="javascript">
/**//**//**//*
*
* @param {object} cont 要导出的html元素内容的id,注意不要加双引号
* @param {object} key 分页关键字
*/
function allareaword(cont,key)
{
var owd = new activexobject("word.application");
//默认为页面视图
var odc = owd.documents.add("", 0, 0);
//横向打印设置部分
odc.pagesetup.linenumbering.active = false;
odc.pagesetup.orientation. wdorientlandscape = 1; //设置为横向打印
odc.pagesetup.topmargin = odc.application.centimeterstopoints(3.17);
odc.pagesetup.bottommargin = odc.application.centimeterstopoints(3.17);
odc.pagesetup.leftmargin = odc.application.centimeterstopoints(2.54);
odc.pagesetup.rightmargin = odc.application.centimeterstopoints(2.54);
odc.pagesetup.gutter = odc.application.centimeterstopoints(0);
odc.pagesetup.headerdistance = odc.application.centimeterstopoints(1.5);
odc.pagesetup.footerdistance = odc.application.centimeterstopoints(1.75);
odc.pagesetup.pagewidth = odc.application.centimeterstopoints(29.7);
odc.pagesetup.pageheight = odc.application.centimeterstopoints(21);
odc.pagesetup.firstpagetray = 0;
odc.pagesetup.otherpagestray = 0;
odc.pagesetup.sectionstart = 2;
odc.pagesetup.oddandevenpagesheaderfooter = false;
odc.pagesetup.differentfirstpageheaderfooter = false;
odc.pagesetup.verticalalignment = 0;
odc.pagesetup.suppressendnotes = false;
odc.pagesetup.mirrormargins = false;
odc.pagesetup.twopagesonone = false;
odc.pagesetup.bookfoldprinting = false;
odc.pagesetup.bookfoldrevprinting = false;
odc.pagesetup.bookfoldprintingsheets = 1
odc.pagesetup.gutterpos = 0;
odc.pagesetup.layoutmode = 2;
var orange = odc.range(0, 1);
//var orange1 = odc.range(0,2);
var sel = document.body.createtextrange();
//参数为html元素id
sel.movetoelementtext(cont);
sel.select();
sel.execcommand("copy");
orange.paste();
owd.application.visible = true;
//得到打开后word的selection对象
var selection = owd.selection;
//设置字体大小
selection.font.size = 10;
//ctrl a 全选操作
selection.wholestory();
//清除格式
selection.find.clearformatting();
//指定查找关键字
selection.find.text = key;
//^m为手动分页符标记
//向下查找
selection.find.forward = true;
selection.find.wrap = 1;
//不区分大小写
selection.find.matchcase = false;
//不匹配整个单词
selection.find.matchwholeword = false;
//如果找到指定字符串返回真,否则返回false
while (selection.find.execute())
{
//插入分页符,分页符常量为7,具体可查word api
selection.insertbreak(7);
}
//保存word文档为test.doc
odc.saveas("test.doc");
}
script>
<body>
<br>
<div id="test">
aaa
^
bbb
^
ccc
div>
<input type="button" onclick="javascript:allareaword(test,'^');" value="导出页面指定区域内容到word"/>
body>
html>
执行此脚本一定要打开"对没有安全验证的active 控件 " 为启用状态.(ie选项)