`

WEB页面导出为Word文档后分页&横向打印的方法

 
阅读更多

项目中用到了横向打印,今天重新更新了这个脚本.

<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(""00);

                    
//横向打印设置部分
                    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(01);
                    
//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选项)
分享到:
评论

相关推荐

    web导出word 分页+横向

    "web导出word 分页+横向"这个标题暗示我们需要关注两个关键点:一是如何实现Word文档的分页,二是如何将内容以横向布局展示。在描述中也提到了这两个关键词,进一步确认了我们的讨论焦点。接下来,我们将深入探讨这...

    润乾报表教程文档

    - 支持多种文件格式导出,如Excel、PDF、Word。 - 提供丰富的统计图表类型,如饼图、柱状图、折线图等,无需浏览器插件即可查看。 - 配备APPLET打印控件实现精确打印。 #### 二、润乾报表安装与配置 - **安装...

    华报智能报表工具

    可以将页面复制为标准图元矢量格式以便粘贴到其他应用程序(如:WORD)中。 公式运算 带有上百个各类函数,函数的语法格式在编辑器中有详细描述。 支持自定义函数,需要调用自定义函数时,系统产生事件,通过捕捉...

    FCRA认证考试题库20200905.docx

    - 设计好的模板可以导出为Excel、PDF、Word和txt等多种格式,满足不同需求。 - 报表预览时也可以导出这些格式,便于分享和打印。 4. **系统配置与文件结构** - FineReport的安装目录包含多个关键文件夹,如...

    《程序天下:JavaScript实例自学手册》光盘源码

    17.9 为textarea加横向滚动条 17.10 记录滚动条位置 17.11 彩色滚动条 17.12 Windows XP的滚动条 第18章 在线考题案例 18.1 在线考试代码 18.2 在线考试代码(二) 18.3 在线测试代码(三) 18.4 多选考试题 18.5 ...

    程序天下:JavaScript实例自学手册

    17.9 为textarea加横向滚动条 17.10 记录滚动条位置 17.11 彩色滚动条 17.12 Windows XP的滚动条 第18章 在线考题案例 18.1 在线考试代码 18.2 在线考试代码(二) 18.3 在线测试代码(三) 18.4 多选考试题 18.5 ...

    Excel VBA实用技巧大全 附书源码

    01053利用CentimetersToPoints方法将计量单位从cm转换为磅 01054利用InchesToPoints方法将计量单位从in转换为磅 01055显示Excel内置对话框 01056显示常用的Excel内置对话框 01057获取Excel菜单栏信息 01058获取Excel...

    dreamweaver网站PHP开发MXP插件

    导出WORD插件.mxp 地址栏图标插件.mxp 调用CSS文件插件.mxp 动态替换CSS插件.mxp 多词搜索插件.mxp 二级下拉菜单插件.mxp 高级HTML编辑器2.01版.mxp 高级表单验证.mxp 高级弹出窗口插件.mxp 高级随机图片插件.mxp ...

Global site tag (gtag.js) - Google Analytics