当前位置: 首页 > news >正文

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

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://www.mrgr.cn/news/28306.html

相关文章:

  • JAVA接入WebScoket行情接口
  • 0 -vscode搭建python环境教程参考(windows)
  • 24 年第十届数维杯国际数模竞赛赛题浅析
  • ubuntu20.04 colmap 安装2024.11最新
  • 基于Ubuntu2410脚本搭建OpenStack-D版
  • 2024游戏陪玩app源码的功能介绍/线上陪玩交友上线即可运营软件平台源码搭建流程
  • A+B P1001 A+B Problem
  • 20240916 每日AI必读资讯
  • 认知杂谈68《燃爆!兄弟萌不可错过的人生开挂宝典》
  • OJ在线评测系统 后端项目初始化 Springboot项目通用模版讲解
  • 2025秋招LLM大模型多模态面试题(七)- 思维链CoT
  • 【我的 PWN 学习手札】Unsortedbin Attack
  • 【苍穹外卖】总结
  • Leetcode 找到字符串中所有字母异位词
  • 研究生招生宣传(2024秋)
  • 12 数组——27. 移除元素 ★
  • 1. TypeScript基本语法
  • Autosar BswM配置-手动建立Swc Port实现自定义模式切换
  • Anaconda安装并配置Python环境
  • STM32外设之LTDC/DMA2D—液晶显示(野火)
  • Zookeeper学习
  • java实现系统文件管理
  • 鸿蒙媒体开发系列01——资源分类访问
  • 深入剖析:C++类对象的内存布局与优化
  • 【C++】——list
  • OJ题-反转链表