C#中EXCEL/WORD轉PDF的方法

參考別人寫的:http://www.cnblogs.com/amylis_chen/p/3754814.html

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Word = Microsoft.Office.Interop.Word;
using Excel = Microsoft.Office.Interop.Excel;
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Microsoft.Office.Core;

namespace ConvertToPDF
{
    public partial class Form1 : Form
    {

public Form1()
        {
            InitializeComponent();
        }

private void button1_Click(object sender, EventArgs e)
        {

if (DOCConvertToPDF("C:/test.doc", "C:/testD.pdf"))
            {
                MessageBox.Show("DOC转换成功!");
            }
            else
            {
                MessageBox.Show("对不起,转换失败!");
            }

if (XLSConvertToPDF("C:/test.xls", "C:/testX.pdf"))
            {
                MessageBox.Show("XLS转换成功!");
            }
            else
            {
                MessageBox.Show("对不起,转换失败!");
            }
            if (PPTConvertToPDF("C:/需求提纲.pptx", "C:/testP.pdf"))
            {
                MessageBox.Show("PPT转换成功!");
            }
            else
            {
                MessageBox.Show("对不起,转换失败!");
            }
           
        }
        //Word转换成pdf
        /// <summary>
        /// 把Word文件转换成为PDF格式文件
        /// </summary>
        /// <param name="sourcePath">源文件路径</param>
        /// <param name="targetPath">目标文件路径</param>
        /// <returns>true=转换成功</returns>
        private bool DOCConvertToPDF(string sourcePath, string targetPath)
        {
            bool result=false;
            Word.WdExportFormat exportFormat = Word.WdExportFormat.wdExportFormatPDF;
            object paramMissing = Type.Missing;
            Word.ApplicationClass wordApplication = new Word.ApplicationClass();
            Word.Document wordDocument = null;
            try
            {
                object paramSourceDocPath = sourcePath;
                string paramExportFilePath = targetPath;

Word.WdExportFormat paramExportFormat = exportFormat;
                bool paramOpenAfterExport = false;
                Word.WdExportOptimizeFor paramExportOptimizeFor = Word.WdExportOptimizeFor.wdExportOptimizeForPrint;
                Word.WdExportRange paramExportRange = Word.WdExportRange.wdExportAllDocument;
                int paramStartPage = 0;
                int paramEndPage = 0;
                Word.WdExportItem paramExportItem = Word.WdExportItem.wdExportDocumentContent;
                bool paramIncludeDocProps = true;
                bool paramKeepIRM = true;
                Word.WdExportCreateBookmarks paramCreateBookmarks = Word.WdExportCreateBookmarks.wdExportCreateWordBookmarks;
                bool paramDocStructureTags = true;
                bool paramBitmapMissingFonts = true;
                bool paramUseISO19005_1 = false;

wordDocument = wordApplication.Documents.Open(
                ref paramSourceDocPath, ref paramMissing, ref paramMissing,
                ref paramMissing, ref paramMissing, ref paramMissing,
                ref paramMissing, ref paramMissing, ref paramMissing,
                ref paramMissing, ref paramMissing, ref paramMissing,
                ref paramMissing, ref paramMissing, ref paramMissing,
                ref paramMissing);

if (wordDocument != null)
                wordDocument.ExportAsFixedFormat(paramExportFilePath,
                paramExportFormat, paramOpenAfterExport,
                paramExportOptimizeFor, paramExportRange, paramStartPage,
                paramEndPage, paramExportItem, paramIncludeDocProps,
                paramKeepIRM, paramCreateBookmarks, paramDocStructureTags,
                paramBitmapMissingFonts, paramUseISO19005_1,
                ref paramMissing);
                result = true;
            }
            catch
            {
                result = false;
            }
            finally
            {
                if (wordDocument != null)
                {
                    wordDocument.Close(ref paramMissing, ref paramMissing, ref paramMissing);
                    wordDocument = null;
                }
                if (wordApplication != null)
                {
                    wordApplication.Quit(ref paramMissing, ref paramMissing, ref paramMissing);
                    wordApplication = null;
                }
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
                GC.WaitForPendingFinalizers();
            }
            return result;
        }
        /// <summary>
        /// 把Excel文件转换成PDF格式文件
        /// </summary>
        /// <param name="sourcePath">源文件路径</param>
        /// <param name="targetPath">目标文件路径</param>
        /// <returns>true=转换成功</returns>
        private bool XLSConvertToPDF(string sourcePath, string targetPath)
        {
            bool result = false;
            Excel.XlFixedFormatType targetType = Excel.XlFixedFormatType.xlTypePDF;
            object missing = Type.Missing;
            Excel.ApplicationClass application = null;
            Excel.Workbook workBook = null;
            try
            {
                application = new Excel.ApplicationClass();
                object target = targetPath;
                object type = targetType;
                workBook = application.Workbooks.Open(sourcePath, missing, missing, missing, missing, missing,
                        missing, missing, missing, missing, missing, missing, missing, missing, missing);

workBook.ExportAsFixedFormat(targetType, target, Excel.XlFixedFormatQuality.xlQualityStandard, true, false, missing, missing, missing, missing);
                result = true;
            }
            catch
            {
                result = false;
            }
            finally
            {
                if (workBook != null)
                {
                    workBook.Close(true, missing, missing);
                    workBook = null;
                }
                if (application != null)
                {
                    application.Quit();
                    application = null;
                }
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
                GC.WaitForPendingFinalizers();
            }
            return result;
        }
        /// <summary>
        /// 把PowerPoing文件转换成PDF格式文件
        /// </summary>
        /// <param name="sourcePath">源文件路径</param>
        /// <param name="targetPath">目标文件路径</param>
        /// <returns>true=转换成功</returns>
        private bool PPTConvertToPDF(string sourcePath, string targetPath)
        {
            bool result;
            PowerPoint.PpSaveAsFileType targetFileType = PowerPoint.PpSaveAsFileType.ppSaveAsPDF;
            object missing = Type.Missing;
            PowerPoint.ApplicationClass application = null;
            PowerPoint.Presentation persentation = null;
            try
            {
                application = new PowerPoint.ApplicationClass();
                persentation = application.Presentations.Open(sourcePath, MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse);
                persentation.SaveAs(targetPath, targetFileType, Microsoft.Office.Core.MsoTriState.msoTrue);

result = true;
            }
            catch
            {
                result = false;
            }
            finally
            {
                if (persentation != null)
                {
                    persentation.Close();
                    persentation = null;
                }
                if (application != null)
                {
                    application.Quit();
                    application = null;
                }
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
                GC.WaitForPendingFinalizers();
            }
            return result;
        }

}
}

时间: 2024-10-15 00:15:44

C#中EXCEL/WORD轉PDF的方法的相关文章

excel转换成pdf的方法

说到excel文件,大家肯定就想起各种表格数据,作为微软办公套装软件的重要的组成部分,excel可以进行各种数据的处理.统计分析和辅助决策操作,广泛地应用于管理.统计财经.金融等众多领域,所以在工作中,大家经常会遇到各种excel文件,有时候因为工作方面的要求,大家需要将excel文件转换成易阅读但不容易修改的pdf文件,可是,如何把excel转成pdf呢?今天小猪在这里向大家简单的讲一下关于excel转换成pdf的方法. 首先确定一点的就是:想要将excel转换成pdf免不了要使用pdf转换器

Aspose&#160;强大的服务器端 excel word ppt pdf 处理工具

Aspose 强大的服务器端 excel word ppt pdf 处理工具 http://www.aspose.com/java/word-component.aspx Aspose 强大的服务器端 excel word ppt pdf 处理工具

如何去除PDF中的水印,PDF去水印方法

如何去除PDF中的水印, 去除PDF水印的方法有哪些?想要去除PDF中的水印就需要使用到PDF编辑器来操作,很多人对于PDF编辑怎么去除PDF水印的操作方法也不是很了解,下面小编就为大家分享一下PDF编辑器去除PDF水印的方法. 操作软件:迅捷PDF编辑器 具体操作方法如下: 1:首先将迅捷PDF编辑器安装到自己的电脑中,双击打开PDF编辑器,将需要去除水印的PDF文件添加到软件中. 2:在软件中找到文档,点击文档,在软件中可以找到水印,将鼠标移动到水印的位置,在右侧可以找到全部删除以及管理.

怎样把Word转成PDF,Word转PDF的方法

由于工作的需要,经常需要将word文档转换成PDF文件传递文件,使word文件更能呈现书籍原始的样子,阅读起来显得那么真实,好用,那怎样把word转换成pdf文件的呢,就让小编来告诉你解决方法把!第一步:打开电脑,进入浏览器,在百度首页搜索迅捷PDF在线转换器.第二步:进入转换器首页后,在导航栏内点开文档转换,在下拉框内选择Word转PDF.第三步:打开Word转PDF后,点击选择文件,在弹出的窗口里加入待转换的Word文件.第四步:将提前准备好的Word文档添加好后,设置需要转换的页码等参数,

openoffice excel word 转换pdf

OpenOffice.org 是一套跨平台的办公室软件套件,能在Windows.Linux.MacOS X (X11)和 Solaris 等操作系统上执行.它与各个主要的办公室软件套件兼容.OpenOffice.org 是自由软件,任何人都可以免费下载.使用及推广它. 目前我已经测试过excel转换pdf已测试成功,word暂时没去测试,理论上是可以转换.因为原理都是调用openoffice的转换pdf功能. openoffice会自动判断源文件类型和目标文件类型. 工具类支持本地转换和远程调用

Word文档转换成PDF简单方法

Word文档怎么转换成PDF?当我们的Word文档中放置图片的时候是需要我们进行在线将其转换成PDF文档的,那么我们有什么样的方法进行转换的呢?下面小编就给大家简单介绍一下Word转PDF的方法. 步骤一:然后我们直接进入到在线网站的首页,通过在浏览器上进行搜索迅捷PDF在线转换器,然后直接进入即可: 步骤二:然后在导航栏中的文档转换中找到Word转PDF,找到之后就可以进行点击:步骤三:进入之后就可以进行页码的选择,将页码设置好之后就可以进行文件的选择了:步骤四:直接将Word文档拖动到界面中

Java解析OFFICE(word,excel,powerpoint)以及PDF的实现方案及开发中的点滴分享

Java解析OFFICE(word,excel,powerpoint)以及PDF的实现方案及开发中的点滴分享 在此,先分享下写此文前的经历与感受,我所有的感觉浓缩到一个字,那就是:"坑",如果是两个字那就是"巨坑"=>因为这个需求一开始并不是这样子的,且听我漫漫道来: 一开始客户与我们商量的是将office和PDF上传,将此类文件解析成html格式,在APP端调用内置server直接以html"播放" 经历一个月~,两个月~,三个月~~~

手机中如何处理Excel格式转换PDF格式

现在不少人操作文件格式的问题大都是在电脑中进行的,那有没有其他工具也能够进行这样的操作呢?如手机,毕竟手机携带起来还比较方便操作起来,说了这么多下面就向大家介绍手机中处理Excel格式转换PDF格式的方法,不会的小伙伴可以看看. 1.说起手机处理文件格式转换的问题,首先手机上需要下载一个转换文件格式的迅捷PDF转换器.使用它来将Excel文件转换为PDF. 2.打开软件进入PDF转换器的首页,点击选择其它文件转换PDF,然后会发现它又分为了word转换PDF.Excel转换PDF.PPT转换PD

Word转PDF方法

引用: using Microsoft.Office.Interop.Word; 方法: /// <summary> /// Word转PDF /// </summary> /// <param name="sourcePath">需要转换的文件路径和文件名称</param> /// <param name="targetPath">转换完成后的文件的路径和文件名名称</param> /// &