安装wps
创建.net core控制项目
添加com引用,搜索wps
准备word,名字叫001.docx
word转pdf
编写代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | namespace WPSStu01 { internal class Program { static void Main( string [] args) { Console.WriteLine( "转化开始" ); var inputFile = "001.docx" ; var outputFile = "001.pdf" ; WordExportAsPdf(inputFile, outputFile); Console.WriteLine( "转化成功" ); Console.ReadKey(); } /// <summary> /// 转换为pdf文件,适合(.doc、.docx、.mht、.htm文件类型) /// </summary> /// /// /// public static string WordExportAsPdf( string fileName, string outputFileName) { string isSucceed = "OK" ; Word.WdExportFormat fileFormat = Word.WdExportFormat.wdExportFormatPDF; Word.Application wordApp = null ; if (wordApp == null ) wordApp = new Word.Application(); Word._Document wordDoc = null ; try { wordDoc = wordApp.Documents.Open(fileName, false , true ); wordDoc.ExportAsFixedFormat(outputFileName, fileFormat); } catch (Exception ex) { isSucceed = ex.Message; } finally { if (wordDoc != null ) { wordDoc.Close( false ); wordDoc = null ; } if (wordApp != null ) { wordApp.Quit( false ); wordApp = null ; } } return isSucceed; } } } |
启动项目报错
选择一下32位程序
发现还是不行,最后换成.net framework 4.8的控制台项目
添加dll的引用,dll需要去安装的wps里面查找
1 2 3 4 5 6 7 | Console.WriteLine( "转化开始" ); var exePath = System.AppDomain.CurrentDomain.BaseDirectory; var inputFile = Path.Combine(exePath, "001.docx" ); var outputFile = Path.Combine(exePath, "001.pdf" ); WordExportAsPdf(inputFile, outputFile); Console.WriteLine( "转化成功" ); Console.ReadKey(); |
asp.net core也可以问题根本原因是路径的问题,不能些相对路径,必须绝对路径
excel转pdf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | /// <summary> /// Excel转换为pdf文件 /// </summary> /// /// /// public static string ExcelExportAsPdf( string fileName, string outputFileName) { string isSucceed = "OK" ; Excel.Application excelApp = null ; if (excelApp == null ) excelApp = new Excel.Application(); Excel.Workbook workBook = null ; try { workBook = excelApp.Workbooks.Open(fileName, false , true ); workBook.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF,outputFileName); } catch (Exception ex) { isSucceed = ex.Message; } finally { if (workBook != null ) { workBook.Close( false ); workBook = null ; } if (excelApp != null ) { excelApp.Quit(); excelApp = null ; } } return isSucceed; } |
调用
1 2 3 4 5 6 7 | Console.WriteLine( "转化开始" ); var exePath = System.AppDomain.CurrentDomain.BaseDirectory; var inputFile = Path.Combine(exePath, "002.xls" ); var outputFile = Path.Combine(exePath, "002.pdf" ); ExcelExportAsPdf(inputFile, outputFile); Console.WriteLine( "转化成功" ); Console.ReadKey(); |
ppt转pdf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | /// <summary> /// PPT转换为pdf文件 /// </summary> /// /// /// public static string PptExportAsPdf( string fileName, string outputFileName) { string isSucceed = "OK" ; PowerPoint.Application pptApp = null ; if (pptApp == null ) pptApp = new PowerPoint.Application(); PowerPoint.Presentation presentation = null ; try { presentation = pptApp.Presentations.Open(fileName); presentation.ExportAsFixedFormat(outputFileName,PowerPoint.PpFixedFormatType.ppFixedFormatTypePDF); } catch (Exception ex) { isSucceed = ex.Message; } finally { if (pptApp != null ) { presentation.Close(); pptApp = null ; } if (pptApp != null ) { pptApp.Quit(); pptApp = null ; } } return isSucceed; } |
调用
1 2 3 4 5 6 7 | Console.WriteLine( "转化开始" ); var exePath = System.AppDomain.CurrentDomain.BaseDirectory; var inputFile = Path.Combine(exePath, "003.pptx" ); var outputFile = Path.Combine(exePath, "003.pdf" ); PptExportAsPdf(inputFile, outputFile); Console.WriteLine( "转化成功" ); Console.ReadKey(); |
到此这篇关于asp.net core 调用wps实现word转pdf的文章就介绍到这了,更多相关asp.net core word转pdf内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!