<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的漫漫程序之旅

    專注于JavaWeb開發
    隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
    數據加載中……

    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選項)

    posted on 2008-08-20 11:34 々上善若水々 閱讀(10255) 評論(14)  編輯  收藏

    評論

    # re: WEB頁面導出為Word文檔后分頁&橫向打印的方法   回復  更多評論   

    贊!!!找了很久終于找到了!謝謝分享!!!!
    2008-09-08 21:40 | kikinancy

    # 發現問題!這樣作打印預覽確實是正確的,可是打印出來還是縱向的呀!   回復  更多評論   

    請大俠賜教!
    2008-09-17 12:26 | kikinancy

    # re: WEB頁面導出為Word文檔后分頁&橫向打印的方法   回復  更多評論   

    不會吧。這個在我項目中已經成功應用了。
    2008-09-17 15:12 | 々上善若水々

    # re: WEB頁面導出為Word文檔后分頁&橫向打印的方法   回復  更多評論   

    我沒有寫“oDC.SaveAs("test.doc");”這一步,打印出來確實是縱向,樓主可以試一下。難道非要保存一下?還有一個問題,我這里發現有個別機器,作這樣的導出word時,導出到word里的表格不按照程序預先設定好的表格的行高列寬,不知道是不是ie里面有什么設置。不知道樓主碰到過這種問題沒有??謝謝賜教!!
    2008-12-30 15:49 | kikinancy

    # re: WEB頁面導出為Word文檔后分頁&橫向打印的方法   回復  更多評論   

    @kikinancy
    這個完全是用VBA做的,需要看你的瀏覽器對VBA的支持了,還有就是本機必須裝好word.
    2008-12-31 08:34 | 々上善若水々

    # re: WEB頁面導出為Word文檔后分頁&橫向打印的方法   回復  更多評論   

    謝謝樓主的及時回復!能不能詳細說一下ie里關于vba的設置在哪里啊?或者是升級一下ie應該能解決?多謝多謝!
    2008-12-31 17:29 | kikinancy

    # re: WEB頁面導出為Word文檔后分頁&橫向打印的方法   回復  更多評論   

    我的是 IE6 你的是什么版本啊。
    2008-12-31 17:57 | 々上善若水々

    # re: WEB頁面導出為Word文檔后分頁&橫向打印的方法   回復  更多評論   

    也是ie6啊,我再重裝一遍ie試試
    2009-01-04 11:23 | kikinancy

    # re: WEB頁面導出為Word文檔后分頁&橫向打印的方法   回復  更多評論   

    找了很久終于找到了!太感謝了!!!!
    2009-07-17 11:56 | dragonwu

    # re: WEB頁面導出為Word文檔后分頁&橫向打印的方法   回復  更多評論   

    能不能不要設置分頁符,根據內容的多少自動分頁的啊?
    2009-11-06 13:39 | 蘇打餅干

    # re: WEB頁面導出為Word文檔后分頁&橫向打印的方法   回復  更多評論   

    感覺一點按鈕,就把文檔打開,太不友好了。
    能不能做成只下載呢?
    2009-11-06 15:25 | 蘇打餅干

    # re: WEB頁面導出為Word文檔后分頁&橫向打印的方法   回復  更多評論   

    @蘇打餅干
    可以.查詢vbs函數.
    2009-11-06 15:51 | 々上善若水々

    # re: WEB頁面導出為Word文檔后分頁&橫向打印的方法   回復  更多評論   

    @々上善若水々
    從沒做過這種,看著都有點困難。。。
    還是想別的辦法吧。。
    2009-11-06 16:04 | 蘇打餅干

    # re: WEB頁面導出為Word文檔后分頁&橫向打印的方法   回復  更多評論   

    在本地測試可以打印,為什么發布到服務器上就不可以了?
    2013-08-17 10:54 | 塵封的心

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲欧美成aⅴ人在线观看| 日韩免费观看一级毛片看看| 最近免费最新高清中文字幕韩国 | 在线观看91精品国产不卡免费| 亚洲男人av香蕉爽爽爽爽| 亚洲一区二区成人| 亚欧日韩毛片在线看免费网站| 免费一级毛片在线播放不收费| 91嫩草私人成人亚洲影院| 亚洲av成本人无码网站| 久久99国产乱子伦精品免费| 亚洲国产成人久久综合碰| 亚洲成年人免费网站| 男女一边摸一边做爽的免费视频| 无码日韩精品一区二区免费| 亚洲精品无码精品mV在线观看| 色五月五月丁香亚洲综合网| 麻豆高清免费国产一区| 亚洲乱码一区二区三区在线观看| 亚洲精品乱码久久久久蜜桃| 亚洲视频免费一区| 亚洲国产精品无码久久久秋霞1| 鲁大师在线影院免费观看 | 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 亚洲精品亚洲人成在线观看下载| 亚洲人妖女同在线播放| 日本视频免费观看| 亚洲色婷婷综合久久| 一个人免费观看日本www视频| 无码人妻久久一区二区三区免费丨| 亚洲国产精品国自产电影| 亚洲狠狠婷婷综合久久| 久草视频在线免费| 国产亚洲精品91| 亚洲狠狠综合久久| 成人免费福利电影| 免费看黄的成人APP| 亚洲综合久久夜AV | 污视频网站在线观看免费| 免费人成网站在线高清| 亚洲AV噜噜一区二区三区|