安装wps
https://www.wps.cn/
创建.net core控制项目
添加com引用,搜索wps
准备word,名字叫001.docx
word转pdf
编写代码
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> /// <param name="fileName"></param> /// <param name="outputFileName"></param> /// <returns></returns> 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里面查找
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
/// <summary> /// Excel转换为pdf文件 /// </summary> /// <param name="fileName"></param> /// <param name="outputFileName"></param> /// <returns></returns> 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; }
调用
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
/// <summary> /// PPT转换为pdf文件 /// </summary> /// <param name="fileName"></param> /// <param name="outputFileName"></param> /// <returns></returns> 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; }
调用
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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源链接:https://www.jb51.net/aspnet/326021u1b.htm
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容