C# 如何将Word、Excel、PPT转成PDF文件(使用Spire提供的组件)学习

第一步:新建一个winform项目,下载Spire组件dll

下载Spire.Doc、Spire.XLS、Spire.Presentation ,路径:工具--NuGet包管理器--管理解决方案NuGet程序包

1)Spire.Doc:word转成其它文件(excel、ppt、pdf)所用,使用版本是10.11.0,在NuGet解决方案下载,需要单独下载
2)Spire.XLS:excel转成其它文件(word、ppt、pdf)所用,使用版本是12.10.1,在NuGet解决方案下载,需要单独下载
3)Spire.Presentation:PPT转成其它文件(word、excel、pdf)所用,使用版本是7.11.1,在NuGet解决方案下载,需要单独下载
4) Spire.pdf:PDF转成其它文件(word、excel、html)使用,使用版本是8.11.0.0,下载Spire.Doc或Spire.XLS会连带下载,不需要单独下载

 第二步:新增Form1窗体,添加六个按钮

1)第一组:Word、Excel、PPT转成PDF

2)第二组:PDF转成Word、Excel、HTML(未找到PPT,改成HTML)

 第三步:编写Form1窗体按钮事件

 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        /**
         * 注意:Spire所用的组件dll都是需要收费的,生成的文件有“Evaluation Warning : The document was created with Spire.PDF for .NET”警告,还有文件页码限制(如:PPT转成PDF:有水印,只能打印到10页)。
         *       若如果只要学习使用,可下载FreeSpire.Doc、FreeSpire.XLS、FreeSpire.Presentation 进行使用(如:PPT转成PDF:无水印,只能打印到3页)
         * Spire dll说明
         * Spire.Doc:word转成其它文件(excel、ppt、pdf)所用,使用版本是10.11.0,在NuGet解决方案下载,需要单独下载
         * Spire.XLS:excel转成其它文件(word、ppt、pdf)所用,使用版本是12.10.1,在NuGet解决方案下载,需要单独下载
         * Spire.Presentation:PPT转成其它文件(word、excel、pdf)所用,使用版本是7.11.1,在NuGet解决方案下载,需要单独下载
         * Spire.pdf:PDF转成其它文件(word、excel、html)使用,使用版本是8.11.0.0,下载Spire.Doc或Spire.XLS会连带下载,不需要单独下载
         * **/
        #region Word、Excel、PPT转成 PDF 文件

        /// <summary>
        /// word转换PDF
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            Spire.Doc.Document doc = new Spire.Doc.Document();
            doc.LoadFromFile(@"D:\Work\Study\Files\Source\test1.doc");
            doc.SaveToFile(@"D:\Work\Study\Files\Target\test1.pdf", Spire.Doc.FileFormat.PDF);

            MessageBox.Show("word转换PDF成功");
        }

        /// <summary>
        /// Excel转换PDF
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            Spire.Xls.Workbook wok = new Spire.Xls.Workbook();
            wok.LoadFromFile(@"D:\Work\Study\Files\Source\test2.xlsx");
            wok.SaveToFile(@"D:\Work\Study\Files\Target\test2.pdf", Spire.Xls.FileFormat.PDF);
            MessageBox.Show("Excel转换PDF成功");
        }

        /// <summary>
        /// PPT转换PDF
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            Spire.Presentation.Presentation pre = new Spire.Presentation.Presentation();
            pre.LoadFromFile(@"D:\Work\Study\Files\Source\test3.pptx");
            pre.SaveToFile(@"D:\Work\Study\Files\Target\test3.pdf", Spire.Presentation.FileFormat.PDF);
            MessageBox.Show("PPT转换PDF成功");
        }

        #endregion

        #region PDF转成 Word、Excel、Html 文件

        /// <summary>
        /// PDF转换Word
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button4_Click(object sender, EventArgs e)
        {
            Spire.Pdf.PdfDocument pdf = new Spire.Pdf.PdfDocument();
            pdf.LoadFromFile(@"D:\Work\Study\Files\Source\作品分享说明.pdf");
            pdf.SaveToFile(@"D:\Work\Study\Files\Target\作品分享说明.doc", Spire.Pdf.FileFormat.DOC);
            MessageBox.Show("PDF转换Word成功");
        }

        /// <summary>
        /// PDF转换Excel
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button5_Click(object sender, EventArgs e)
        {
            Spire.Pdf.PdfDocument pdf = new Spire.Pdf.PdfDocument();
            pdf.LoadFromFile(@"D:\Work\Study\Files\Source\作品分享说明.pdf");
            pdf.SaveToFile(@"D:\Work\Study\Files\Target\作品分享说明.xlsx", Spire.Pdf.FileFormat.XLSX);
            MessageBox.Show("PDF转换Excel成功");
        }

        /// <summary>
        /// PDF转换HTML
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button6_Click(object sender, EventArgs e)
        {
            Spire.Pdf.PdfDocument pdf = new Spire.Pdf.PdfDocument();
            pdf.LoadFromFile(@"D:\Work\Study\Files\Source\作品分享说明.pdf");
            pdf.SaveToFile(@"D:\Work\Study\Files\Target\作品分享说明.html", Spire.Pdf.FileFormat.HTML);
            MessageBox.Show("PDF转换HTML成功");
        }

        #endregion


    }

第四步:准备来源文件夹的文件(test1.doc、test.xlsx、test3.pptx、作品分享说明.pdf),如下所示

 第五步:运行窗口,点击对应按钮事件,查看目标文件夹的文件

 注意:上面Spire.Presentation 和Spire.XLS默认引用Spire.pdf,导致程序报错,需要单独引用后,在测试

严重性    代码    说明    项目    文件    行    禁止显示状态
警告        发现无法解析的“Spire.Pdf”的不同版本之间存在冲突。
“Spire.Pdf, Version=8.11.0.0, Culture=neutral, PublicKeyToken=663f351905198cb3”与“Spire.Pdf, Version=8.11.2.0, Culture=neutral, PublicKeyToken=663f351905198cb3”之间存在冲突。
    已选择“Spire.Pdf, Version=8.11.0.0, Culture=neutral, PublicKeyToken=663f351905198cb3”,因为它是主版本而“Spire.Pdf, Version=8.11.2.0, Culture=neutral, PublicKeyToken=663f351905198cb3”不是。
    依赖于“Spire.Pdf, Version=8.11.0.0, Culture=neutral, PublicKeyToken=663f351905198cb3”[D:\Work\Study\StudyWinForm\packages\Spire.Doc.10.11.0\lib\net40\Spire.Pdf.dll]的引用。
        D:\Work\Study\StudyWinForm\packages\Spire.Doc.10.11.0\lib\net40\Spire.Pdf.dll
          导致引用“D:\Work\Study\StudyWinForm\packages\Spire.Doc.10.11.0\lib\net40\Spire.Pdf.dll”的项目文件项 Include 特性。
            Spire.Pdf, Version=8.11.0.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL
            Spire.Doc, Version=10.11.0.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL
            Spire.XLS, Version=12.10.1.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL
        D:\Work\Study\StudyWinForm\packages\Spire.Doc.10.11.0\lib\net40\Spire.Doc.dll
          导致引用“D:\Work\Study\StudyWinForm\packages\Spire.Doc.10.11.0\lib\net40\Spire.Doc.dll”的项目文件项 Include 特性。
            Spire.Doc, Version=10.11.0.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL
        D:\Work\Study\StudyWinForm\packages\Spire.XLS.12.10.1\lib\net40\Spire.XLS.dll
          导致引用“D:\Work\Study\StudyWinForm\packages\Spire.XLS.12.10.1\lib\net40\Spire.XLS.dll”的项目文件项 Include 特性。
            Spire.XLS, Version=12.10.1.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL
    依赖于“Spire.Pdf, Version=8.11.2.0, Culture=neutral, PublicKeyToken=663f351905198cb3”[D:\Work\Study\StudyWinForm\packages\Spire.Presentation.7.11.1\lib\net40\Spire.Pdf.dll]的引用。
        D:\Work\Study\StudyWinForm\packages\Spire.Presentation.7.11.1\lib\net40\Spire.Presentation.dll
          导致引用“D:\Work\Study\StudyWinForm\packages\Spire.Presentation.7.11.1\lib\net40\Spire.Presentation.dll”的项目文件项 Include 特性。
            Spire.Presentation, Version=7.11.1.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL    StudyWinForm            

第六步:打开生成的文件

 

 

 参考网站:https://blog.csdn.net/swk795795/article/details/126834264

 

posted @ 2022-11-24 17:29  小小邪  阅读(882)  评论(0编辑  收藏  举报