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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章