<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 々上善若水々 閱讀(10257) 評論(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 | 塵封的心

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


    網站導航:
     
    主站蜘蛛池模板: 中文字幕无码免费久久| 妞干网在线免费视频| 亚洲国产日产无码精品| 免费毛片在线播放| 人禽伦免费交视频播放| 亚洲国产美国国产综合一区二区| 欧洲一级毛片免费| 污污视频网站免费观看| 亚洲美女视频一区| 免费在线观看亚洲| 亚洲网站在线免费观看| 精品久久久久久亚洲综合网| 亚洲精品国精品久久99热一| 成人免费视频77777| 岛国岛国免费V片在线观看| 精品久久亚洲中文无码| 亚洲中文字幕无码久久综合网| h片在线免费观看| 久久久WWW成人免费精品| 久久精品国产亚洲av麻豆图片| 亚洲精品无码久久毛片| 性做久久久久久免费观看| a级片免费在线观看| 亚洲日韩一区二区一无码| 久久久久亚洲AV无码专区首| 曰皮全部过程视频免费国产30分钟| 国产又黄又爽胸又大免费视频| 亚洲免费福利在线视频| 亚洲av无码一区二区三区网站| 破了亲妺妺的处免费视频国产| 午夜不卡久久精品无码免费| 老司机午夜性生免费福利| 亚洲一级毛片视频| 人人狠狠综合久久亚洲88| 免费国产成人高清在线观看麻豆 | 黑人精品videos亚洲人| 四虎免费大片aⅴ入口| 91在线手机精品免费观看| 99久久免费国产精精品| 日韩久久无码免费毛片软件| 亚洲精品无码久久久久牙蜜区|