• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    ASP.Net實現將Word轉換PDF格式

    發布: 2008-10-13 11:32 | 作者: zerodj | 來源: 不詳 | 查看: 102次 | 進入軟件測試論壇討論

    領測軟件測試網 前言:由于一個客戶的項目中需要將WORD文檔轉換成PDF格式,故寫了本篇實站教程

       需求分析:客戶的項目以B/S結構為主,提供一個WORD文件在后臺自動轉換成PDF,經過實際測試,如果該篇WORD文檔有100多頁的話,轉換需要20分鐘左右的時間(環境:CPU是奔騰M 1.6G,512M內存),整個CPU的占用率近乎95%~100%,此結果告訴客戶以后,客戶提議:到客戶下班后,自動轉換PDF,同時如果使用人確認要查看該PDF文檔,如果沒有轉換,提供給客戶選擇,是現在轉換成PDF,還是由服務器在客戶下班后,自動轉換。

       項目功能:按需求分析要寫兩個功能

       第一為:B/S結構后臺轉換,要提交給客戶選擇

       第二為:Windows服務自動轉換WORD文檔到PDF

       這兩個分類:核心的轉換程序都是采用線程的方式執行,只不過第一個功能是針對一個WORD文件,第二個功能針對所有未轉換的WORD文檔.

       分析到現在:我們開始實戰轉換了!

       一:必備工具

       安裝必須的工具MS VS.Net2003 ,MS Office2003,Adobe Acrobat 7.0 Professional,postscript.exe,gs811w32.exe

       MS VS.Net2003的安裝不說明

       MS Office2003的安裝不說明

       Adobe Acrobat 7.0 Professional安裝說明

       運行setup.exe文件,出現輸入序列號,就運行注冊機 ,用鼠標在第一行刷下就可以看見序列號,復制粘貼到Adobe Acrobat 7.0 Professional安裝程序對話框,安裝到最后出現注冊時,點擊PHONE...將安裝程序中顯示的第二行序列號(第一行是剛才注冊機生成的序列號)復制粘貼到注冊機的第二行,點擊右邊的按鈕,再用鼠標刷第三行授權號就出來了,將其復制粘貼到安裝程序的最后一行,完成安裝注冊!

       postscript.exe默認安裝就可以了,它是一個PDF轉換時所需要的腳本

       gs811w32.exe默認安裝就可以,它其實是個PDF虛擬打印機的驅動

       二:配置虛擬打印機

       進入Windows的控制面板,進入打印機,點擊"添加打印機"圖標.在安裝對話框上"按一步",出現選擇打印機時,在制造商一欄中選擇"Generic",在打印機一欄中,選擇"MS Publisher Color Printer",然后一路按下一步,知道安裝結束.

       三:開始寫第一個程序(腳本程序)

       為什么要使用腳本程序進行轉換呢,其實實際測試過程中,使用PDF Distiller的對象引用到C#后,轉換成功,但整個PDF Distiller對象不能釋放,第二次再轉換時,就發生了錯誤,故此處使用腳本程序實現轉換.這樣我們只要在C#的程序中調用腳本程序就可以實現WORD到PDF的轉換。

       宿主腳本文件名:ConvertDoc2PDF.js

       腳本文件內容:

    var files = WScript.Arguments;
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var word = new ActiveXObject("Word.Application");
    var PDF = new ActiveXObject("PDFDistiller.PDFDistiller.1");
    word .Act ivePrinter = "MS Publisher Color Printer";

    //files(0) 為WORD文檔文件名
    //files(1) 為,轉換后需要保存的路徑
    //調用fso.GetBaseName(files(0))后,為無路徑,無擴展名,的文件名
    //files.length為文件參數的個數,使用循環可以支持多個WORD文檔的轉換

    var docfile = files(0);
    var psfile = files(1) + fso.GetBaseName(files(0)) + ".ps";
    var pdffile = files(1) + fso.GetBaseName(files(0)) + ".pdf";
    var logfile = files(1) + fso.GetBaseName(files(0)) + ".log";

    try{
    var doc = word.Documents.Open(docfile);
    //WORD文件轉成PS文件;
    word.PrintOut(false, false, 0, psfile);
    doc.Close(0);

    //PS文件轉成PDF文件;
    PDF.FileToPDF(psfile,pdffile,"");

    fso.GetFile(psfile).Delete();//刪除PS腳本文件
    fso.GetFile(logfile).Delete();//刪除轉換的日志文件

    word.Quit();
    WScript.Echo("isuccess");//成功
    WScript.Quit(0);
    }
    catch(x)
    {
    word.Quit();
    WScript.Echo("isfail");//失敗
    WScript.Quit(0);
    }

      

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: asp ASP net NET Net PDF Word WORD word 格式

    31/3123>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>