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

潮汕学院网站开发全国互联网营销大赛官网

潮汕学院网站开发,全国互联网营销大赛官网,公司手机app开发公司,学设计的培训机构现实场景中要实现Word格式转PDF格式还是比较常见的。 如果要用开源的组件,只有用Libreoffice了。 一、下载安装Libreoffice 先进入如下链接,找到最新版本和匹配的操作系统来安装。 官网试过,下载是能下载,但安装了用不了&…

现实场景中要实现Word格式转PDF格式还是比较常见的。

如果要用开源的组件,只有用Libreoffice了。

一、下载安装Libreoffice

先进入如下链接,找到最新版本和匹配的操作系统来安装。

官网试过,下载是能下载,但安装了用不了,下面的链接是镜像。

https://mirrors.cloud.tencent.com/libreoffice/libreoffice/stable/

二、下面是C#的帮助类中的方法:

/// <summary>
/// 从网络上的Word文件,获取到pdf, 保存到临时文件。后续需要写代码删除这个临时文件,否则会占用服务器资源
/// </summary>
/// <param name="docUrl"></param>
/// <returns></returns>
public static string WordUrl2Pdf(string docUrl)
{try{int rand = new Random().Next(1000, 9999);var tempWord = $"d:\\tmp\\Convert\\{rand}.docx";var tempPdf = $"d:\\tmp\\Convert\\{rand}.pdf";FileHelper.DownloadAndSave(docUrl, tempWord);Word2Pdf(tempWord, tempPdf);File.Delete(tempWord);return tempPdf;}catch (Exception ex){Console.WriteLine(ex.Message);return null;}
}/// <summary>
/// 将 Word 文件转换为 PDF
/// </summary>
/// <param name="docPath">Word 文件路径</param>
/// <param name="pdfPath">输出 PDF 文件路径</param>
public static void Word2Pdf(string docPath, string pdfPath)
{// 检查输入文件是否存在if (!File.Exists(docPath)){throw new FileNotFoundException("输入文件不存在!", docPath);}// 确保输出目录存在string outputDir = System.IO.Path.GetDirectoryName(pdfPath);if (!Directory.Exists(outputDir)){Directory.CreateDirectory(outputDir);}// 定义 LibreOffice 路径和动态端口号string libreOfficePath = @"d:\Program Files\LibreOffice\program\soffice.exe";int port = GetUniquePort(); // 获取唯一端口号// 启动 LibreOffice 实例并执行转换Process process = new Process();process.StartInfo.FileName = libreOfficePath;process.StartInfo.Arguments = $"--headless --accept=\"socket,host=localhost,port={port};urp;\" --convert-to pdf --outdir \"{outputDir}\" \"{docPath}\"";process.StartInfo.UseShellExecute = false;process.StartInfo.CreateNoWindow = true;try{Console.WriteLine($"正在转换文件 {docPath} -> {pdfPath},使用端口: {port}");process.Start();process.WaitForExit();if (process.ExitCode != 0){throw new Exception($"转换失败,退出代码: {process.ExitCode}");}}catch (Exception ex){throw new Exception($"转换文件 {docPath} 时发生错误: {ex.Message}", ex);}finally{// 确保进程结束if (!process.HasExited){process.Kill();}}
}/// <summary>
/// 获取唯一的端口号
/// </summary>
/// <returns>唯一端口号</returns>
private static int GetUniquePort()
{// 使用 Interlocked.Increment 确保线程安全int basePort = 2002; // 起始端口号return basePort + Interlocked.Increment(ref _portCounter);
}private static int _portCounter = 0; // 全局计数器,用于生成唯一端口号

http://www.dtcms.com/wzjs/187004.html

相关文章:

  • 网站制作公司怎么收费网络推广怎么样
  • 织梦做的网站打包在dw修改免费自动推广手机软件
  • 网站建设中故障分类和排除方法怎么做营销
  • 组合图片可以用在网站做链接吗推推蛙seo
  • 网站建设越来越难做发帖效果好的网站
  • 去哪个网站做试用好百度下载app安装
  • p2p网站制作价格如何做好网络营销管理
  • 怎么做网站弹窗怎样建立一个网站
  • 新公司网站建设都有哪些优势上海外贸seo公司
  • 镇江市建设工程安全监督站网站百度的总部在哪里
  • 知更鸟wordpress显示已收录seo网络培训班
  • 做网站做软件怎么赚钱优化大师客服
  • 大学生网站开发比赛郑州网络推广
  • 男人需要网站2021年中国关键词
  • 鸿兴网站建设公司商家怎么入驻百度
  • 做网站编辑需要具备的素质网站注册流程和费用
  • 沈阳三好街做网站公司世界足球排名前十名
  • 邯郸公司网站建设下载百度app最新版并安装
  • 广州购物网站建设价格山东百度推广代理
  • 杭州公司网站建设套餐东莞网站设计公司排名
  • 苏州品牌网站建设网络营销策划的内容
  • seo怎么才能做好seo工资一般多少
  • 网站建设的流程 步骤搜客
  • 网站 数据报表如何做百度客服24小时人工服务
  • 武汉做网站多少钱东莞互联网推广
  • 手机网站用什么软件做的好处友情链接图片
  • 四川微信网站建设什么网站都能打开的浏览器
  • 门户网站建设和运行招标公告网络营销的应用
  • 百度云服务器做php网站网站交易网
  • 如何做网站帮别人赚钱手机优化大师下载安装