安装LibreOffice 7.2插件

使用的开发工具是VS2022,.NET6.0的项目框架。要实现office文件转pdf要先安装一个好用的插件。
1.到官网下载: LibreOffice下载地址
2.安装,这里我选择的是企业版

安装后文件目录结构:

3.配置环境变量,配置完成后可以使用cmd命令直接转换office文件为pdf文件,无须打开桌面的LibreOffice客户程序。
配置路径为,桌面上的电脑图标,右键“属性”-“高级系统设置”-“高级”-“环境变量”.
在Path变量下设置增加环境变量值:
我这里安装在f盘,设置如下。
F:\SoftWare\libreOffice\program
这里设置了两个地方的Path变量,一个是用户变量,一个是系统变量。
设置完成就可以来使用cmd命令检验下是否生效了。

使用cmd命令提示工具实现文件转换

1.快捷键win+R:打开cmd命令提示工具。

2.输入命令 “ cmd /c soffice --headless --convert-to pdf F:/xx文件夹/测试文件.doc --outdir F:/xx文件夹/ ”,前面文件地址是绝对地址代表要转换生成的文件,后面地址是要生成到目标文件夹。按下Enter执行命令,在目标文件夹下面即会生成一个“测试文件.pdf”的新文件。这里验证了插件可以正常使用。

ps:当然有的电脑,不能识别这个soffice,可以使用soffice.exe来替换。就可以找到

在c#代码中调用cmd命令,程序自动执行转换文件

下面是执行cmd命令的代码片段

        /// <summary>/// office文件转pdf/// </summary>/// <param name="officePath">输入文件夹地址</param>/// <param name="outPutPath">输出文件地址</param>/// <returns></returns>/// <exception cref="Exception"></exception>[HttpGet("OfficeToPdf")]public bool OfficeToPdf(string officePath = "F:/测试文件夹/机构图号命名规则.doc", string outPutPath = "F:/测试文件夹/"){var result = false;try{//拼接cmd命令,此命令执行前要确保环境变量有值string strCMD = $" soffice --headless --convert-to pdf  {officePath} --outdir  {outPutPath}";//调用cmd命令提示符工具using (var process = new Process()){process.StartInfo.FileName = "cmd.exe";//cmd / c xxxx:是执行完dir命令后关闭命令窗口;cmd / k xxxx:是执行完dir命令后不关闭命令窗口。process.StartInfo.Arguments = "/c " + strCMD; // "soffice --headless --convert-to pdf  F:/测试文件夹/机构图号命名规则.doc --outdir  F:/测试文件夹/";process.StartInfo.UseShellExecute = false;   //是否使用操作系统shell启动 process.StartInfo.CreateNoWindow = true;   //是否在新窗口中启动该进程的值 (不显示程序窗口)//process.StartInfo.WorkingDirectory = @"C:/Windows/system32";    // 重定向错误输出  process.Start();process.WaitForExit();  //等待程序执行完退出进程process.Close();}//查询文件是否存在,存在则返回turevar fileName = Path.GetFileName(officePath);if (fileName == "" || string.IsNullOrEmpty(fileName)) { return result; }var newFileName = Path.GetFileNameWithoutExtension(fileName) + ".pdf";newFileName = Path.Combine("F:/测试文件夹/", newFileName);if (System.IO.File.Exists(newFileName)){result = true;}return result;}catch (Exception ex){throw new Exception(ex.Message);}}

运行此段代码,可以发现同样生成了一个”机构图号命名规则.pdf“文件。

发布到IIS服务器

发布到IIS后发现执行完接口方法,界面就一直加载中,也没有文件生成。并不能实现生成文件的效果。

解决方法:
网站发布的”应用程序池“-”高级设置“
1.启用32位应用程序设置为True
2.托管管道模式为经典 Classic
3.进程模型中-”标识“-默认内置账户是”ApplicationPoolIdentity“改为”LocalSystem“。
接口重新调用后,就可以生成新的pdf文件了。

至此一个完整的方法就完结了。
参考了好几个博主的文章,其中最有灵感的是这个博主的文章。
【libreoffice】libreoffice实现office转pdf、html、jpg等格式数据

c#实现ppt,word,excel,txt,jpg文件转pdf功能相关推荐

  1. 计算机考试ks文件夹,大学计算机考试PPT Word Excel都关了 但是装他们的文件夹KS没关 就提交了有事吗......

    没事的,文件夹的打开.关闭没有实质性的影响. 一般情况电脑会自动保存的,再说你也保存过,所以一般情下会没有问题计算机二级MS OFFICE考试一共分为四大块,第一大题是计算机基础,前面5道最难,会考栈 ...

  2. C#使用指定打印机打印Word,Excel等Office文件和打印PDF文件的代码

    http://www.cnblogs.com/xiachufeng/archive/2010/07/31/1789136.html 打印,是做开发的人的经久不变的话题. 今天,用实例代码,说明.NET ...

  3. POI pdf ppt word excel

    原地址:http://topinking.iteye.com/blog/225178 关键字: word, excel, powerpoint, pdf, pdfbox OFFICE文档使用POI控件 ...

  4. PHP实现office文件转PDF功能

            之前因为业务需要接触过在线浏览office文件,用过一些接口,例如:I DOC View(收费).Office Web 365(有免费版,详情可点击查看).online doc(有免费 ...

  5. 前端文件预览 (pdf ppt word Excel image mp4 txt )集成预览

    项目资源: https://download.csdn.net/download/AisinGioroGouzi/86756075 如何使用: 1  解压好的资源放到项目 components 文件夹 ...

  6. 计算机异常情况处理ppt,Word / Excel / PPT2007计算机异常导致文件丢失,如何恢复?...

    在使用Office2007办公软件的过程中,突然停电或崩溃,出现蓝屏等异常现象,文件没有时间保存,该怎么办? Office2007软件(包括word,excel,PPT)具有一项功能,可以帮助我们恢复 ...

  7. office 2013 已停止工作;word excel 打开任何文件

    Office 2013 Error "Microsoft Word has stopped working". 该死的问题. 前几天装了office 2013 感觉不错.没过几天, ...

  8. 运用计算机考试ppt,计算机一级考试的ppt word excel分别用的是哪个版本的??

    全国计算机等级考试是社会考试,就考试性质而言,它是一种重视应试人员对计算机和软件的实际运用能力的考试.考试分为四个等级,不同等级的内容不同,一级主要考核微型计算机基础知识和使用办公软件及因特网(Int ...

  9. 深入理解pandas读取excel,txt,csv文件等命令

    https://www.cnblogs.com/happymeng/p/10481293.html

最新文章

  1. 唤起微信/QQ返回不了当前页面解决方法
  2. 漫谈:机器学习中距离和相似性度量方法
  3. cookie和token的理解
  4. 用递归法求1²+2²+...+n²的值
  5. JSON是什么?如何产生的?
  6. 压缩之后神经网络忘记了什么?Google研究员给出了答案
  7. Qt4_使用QXmlStreamReader读取XML
  8. 电脑重启 硬件问题引发的人品问题
  9. 2021-07-09商场主页及分类
  10. hashmap删除指定key_Java集合:HashMap底层实现和原理(源码解析)
  11. C语言-概念-文件指针
  12. adobe imageready怎么扣图
  13. 仿微博视频边下边播之封装播放器
  14. vue+elementui表格前端导出excel以及自定义导出样式
  15. 洛谷 P2708 硬币翻转
  16. Matlab 最优化求解
  17. 微型计算机的多级存储结构,微型计算机存储系统结构.doc
  18. arcgis风向_arcgis趋势分析
  19. 我的财富自由之路 - 财富的自我认知
  20. 看电影用这个小程序,爆米花钱肯定给你省出来!

热门文章

  1. 【tyvj P1307】联络员
  2. Nowcoder 5477E. 弦(卡特兰数、组合数学)
  3. 工业工程和计算机哪个专业好,工业工程考研的科目和推荐学校
  4. 音视频播放基础:音频和视频解码和播放的区别
  5. WordPress博客主题:Free 1白色两栏自适应模板
  6. 若依框架二次开发之创建新路由
  7. Mac不能写入U盘的解决方法
  8. 纯java数据库_HSQLDB(Hypersonic SQL),纯Java开发的开源关系型数据库
  9. 大数据组件——Zookeeper配置文件解析
  10. C# 防止界面假死 多线程进度条的合理使用