pc捍卫者
 当前位置 → pc捍卫者PC办公应用 → 浏览正文
把Word转换成pdf格式的方法应用
作者:本站综合    来源:www.pchwz.com    更新时间:2009年08月13日

日常办公中把Word转换成pdf格式的方法应用

朋友们肯定知道,PDF是一种广泛使用的电子书格式,在日常办公应用中,我们经常需要把Word转pdf,但把word转pdf方法是如何实现的呢?别着急,本文就来教给你把word文档转换成pdf的具体方法,当然,这需要有一定的操作能力.

前提条件:安装Acrobat Distillr,可以通过安装Acrobat Professional 版本实现。

1.在Winform下实现转换

很简单,需要引用COM组件 PDFMake

Code
        public static string ConvertPdf(string p_sFileSrc,string sTgtFile)
        {
            object missing = System.Type.Missing;
            try
            {
                PDFMAKERAPILib.PDFMakerApp app = new PDFMAKERAPILib.PDFMakerApp();
 
                if (File.Exists(sSrcFile))
                {
                    //获取PDF生成路径
                    int bSuccess = app.CreatePDF(sSrcFile, sTgtFile, PDFMAKERAPILib.PDFMakerSettings.kConvertAllPages, false, true, true, missing);
                    return Enum.GetName(typeof(PDFMAKERAPILib.PDFMakerRetVals), bSuccess);
                }
                else
                {
                    return "源文件不存在!";
                }
            }
            catch (Exception er)
            {
                return "文件转换失败!";
            }
        }
    }
 

2.在WebForm下转换

比上面复杂点,因为上面的代码在IIS时,就是转换不成功,花了点时间,发现原因是两个的用户不同,一个是管理员,一个是Asp.net 帐户或者是network Service 看IIS是5.0 还是6.0。想通过更改设置权限来解决,改了不少,效果是从一个错误,变成了另一个错误。

从网上搜索到下面这个办法,也是比较简单的。

前提条件:

(1)安装虚拟打印机:进入WINDOWS的控制面板,进入打印机,点击"添加打印机"图标,在安装对话框上"按一步",出现选择打印机时,在制造商一栏中选择"Generic",在打印机一栏中,选择"MS Publisher Color Printer",然后一路按下一步,知道安装结束。以下代码并没有提供当前的打印机,而是使用系统默认的,即设置的"MS Publisher Color Printer"。

(2)必须添加引用Acrobat Distiller与WORD,可以从COM组件中添加。

Code
private void WordConvert()
{
    oWord.ApplicationClass word = new Microsoft.Office.Interop.Word.ApplicationClass();
    Type wordType = word.GetType();

    oWord.Documents docs = word.Documents;
    Type docsType = docs.GetType();
    object objDocName = @"c:\tmp\test.doc";
    oWord.Document doc = (oWord.Document)docsType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { objDocName, true, true });

    //打印输出到指定文件
    Type docType = doc.GetType();
    object printFileName = @"c:\tmp\test.ps";
    docType.InvokeMember("PrintOut", System.Reflection.BindingFlags.InvokeMethod, null, doc, new object[] { false, false, oWord.WdPrintOutRange.wdPrintAllDocument, printFileName });
    wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, word, null);

    string o1 = "c:\\tmp\\test.ps";
    string o2 = "c:\\tmp\\test.pdf";
    string o3 = "";

    //引用将PS转换成PDF的对象
    try
    {
        ACRODISTXLib.PdfDistillerClass pdf = new ACRODISTXLib.PdfDistillerClass();
        pdf.FileToPDF(o1, o2, o3);
    }
    catch { }

    //为防止本方法调用多次时发生错误,必须停止acrodist.exe进程
    foreach (Process proc in System.Diagnostics.Process.GetProcesses())
    {
        int begpos;
        int endpos;

        string sProcName = proc.ToString();
        begpos = sProcName.IndexOf("(") + 1;
        endpos = sProcName.IndexOf(")");

        sProcName = sProcName.Substring(begpos, endpos - begpos);

        if (sProcName.ToLower().CompareTo("acrodist") == 0)
        {
            try
            {
                proc.Kill();
            }
            catch { } 
            break;
        }
    }
}

小结:PDF格式作为一种世界通用的文档格式,在实际的办公中应用非常的广告,通过把word格式转换到pdf格式会为我们的日常工作起到很大的帮助,目前,一些手机和MP4都可以阅读PDF这种文件,在下一篇里,将为朋友们介绍怎样把PDF再转换成WORD这种文档,请关注本站办公应用栏目.

转截请注明:文章来自 pc捍卫者 http://www.pchwz.com 本站发布此文为传递更多信息之目的,不表明pc捍卫者赞同其观点

上一篇:应用教程:Excel函数的参数      下一篇办公中PDF转换word格式的方法
Tags:
 
 
>> 推荐文章
·centos下MySQL数据库备份
·浪费生命的excel最后一行
·非常好用的ftp同步工具下载
·Excel中用函数排名次的方法
·我找回Word文档的经历分享
·Word自动宏应用重点攻略
·更强大的Word表格应用技巧
·Excel教程:Excel函数输入
·PDF文件[操作数类型错误]的方法
·PPT不能播放AVI视频的解决方法
·WordPress 3.1 bet
·使用Office XP的网上数据存
·微软忘记修复Mac版Office安
·办公安全:复印机泄露你的私密
·互相交流:WPS与Office文档
·遇Word文档后缀名异常
·批量替换ACCESS数据库内容的方
·WordPress被入侵的解决方法
>> 赞助商链接
|pc捍卫者|捍卫你地盘|唯尚技术|||版权声明|关于我们
本站文章除原创者其余源自网络,如有侵权请联系站长,将于24小时内删除