第一步:新建一個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