当前位置:首页 » 《我的小黑屋》 » 正文

asp.net core调用wps实现word转pdf的方法

2 人参与  2024年09月23日 11:21  分类 : 《我的小黑屋》  评论

点击全文阅读


1,首先安装wps,从官网下载安装包

2,创建.net core控制项目

添加com引用,搜索wps

 

 

准备一个word文档,名字叫001.docx,随便编写一些文字内容

3,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也可以问题根本原因是路径的问题,不能些相对路径,必须绝对路径 

 

4,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();


点击全文阅读


本文链接:http://zhangshiyu.com/post/163346.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1