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

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

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

    我的漫漫程序之旅

    專注于JavaWeb開發(fā)
    隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
    數(shù)據(jù)加載中……

    WEB頁面導(dǎo)出為Word文檔后分頁&橫向打印的方法

    項目中用到了橫向打印,今天重新更新了這個腳本.

    <html>
        
    <HEAD>
            
    <title>WEB頁面導(dǎo)出為Word文檔后分頁&橫向打印的方法 </title>
        
    </HEAD>
        
    <SCRIPT LANGUAGE="javascript">
                    
    /**//*
                     * 
                     * @param {Object} cont  要導(dǎo)出的html元素內(nèi)容的id,注意不要加雙引號
                     * @param {Object} key   分頁關(guān)鍵字
                     
    */

                    
    function AllAreaWord(cont,key)
                    
    {
                        
    var oWD = new ActiveXObject("Word.Application");
                        
    //默認(rèn)為頁面視圖
                        var oDC = oWD.Documents.Add(""00);

                        
    //橫向打印設(shè)置部分
                        oDC.PageSetup.LineNumbering.Active = false;
                        oDC.PageSetup.Orientation. wdOrientLandscape 
    =  1//設(shè)置為橫向打印
                        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();
                        
    //參數(shù)為html元素id 
                        sel.moveToElementText(cont);
                        sel.select();
                        sel.execCommand(
    "Copy");
                        oRange.Paste();
                        oWD.Application.Visible 
    = true;
                        
    //得到打開后word的selection對象
                        var selection = oWD.Selection;
                        
    //設(shè)置字體大小
                        selection.Font.Size = 10;
                        
    //ctrl+A 全選操作
                        selection.WholeStory();
                        
    //清除格式
                        selection.Find.ClearFormatting();
                        
    //指定查找關(guān)鍵字
                        selection.Find.Text = key;
                        
    //^m為手動分頁符標(biāo)記
                        //向下查找
                        selection.Find.Forward = true;
                        selection.Find.Wrap 
    = 1;
                        
    //不區(qū)分大小寫
                        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="導(dǎo)出頁面指定區(qū)域內(nèi)容到Word"/>
        
    </body>
    </html>

    執(zhí)行此腳本一定要打開"對沒有安全驗證的Active 控件 " 為啟用狀態(tài).(IE選項)

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

    評論

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

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

    # 發(fā)現(xiàn)問題!這樣作打印預(yù)覽確實是正確的,可是打印出來還是縱向的呀!   回復(fù)  更多評論   

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

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

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

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

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

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

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

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

    謝謝樓主的及時回復(fù)!能不能詳細(xì)說一下ie里關(guān)于vba的設(shè)置在哪里啊?或者是升級一下ie應(yīng)該能解決?多謝多謝!
    2008-12-31 17:29 | kikinancy

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲日本国产乱码va在线观看| 四虎影视在线影院在线观看免费视频 | 国产精品白浆在线观看免费| 亚洲色欲色欱wwW在线| 亚洲精品天天影视综合网| 亚洲精品高清一二区久久| 嫩草影院免费观看| 97热久久免费频精品99| 免费在线看黄的网站| 一进一出60分钟免费视频| 最新亚洲人成无码网www电影| 亚洲国产精品白丝在线观看| 国产国拍亚洲精品mv在线观看| 亚洲精品无码永久在线观看| 国产gav成人免费播放视频| 我要看WWW免费看插插视频| 免费h片在线观看网址最新| 无码国产精品一区二区免费vr | 99在线在线视频免费视频观看| 久久久受www免费人成| 色婷婷综合缴情综免费观看| 亚洲gay片在线gv网站| 亚洲中文字幕乱码AV波多JI | 波多野结衣免费在线观看| 污污网站免费观看| 日本免费一区二区久久人人澡| 国产性生大片免费观看性| A级毛片成人网站免费看| caoporn成人免费公开| caoporn国产精品免费| 一级女人18片毛片免费视频| 羞羞视频在线观看免费| 亚洲免费在线观看| 日本道免费精品一区二区| 国产精品99爱免费视频| 二区久久国产乱子伦免费精品| 高清永久免费观看| 国内精品久久久久影院免费| 一区二区三区观看免费中文视频在线播放 | 中国一级特黄的片子免费 | 暖暖免费高清日本中文|