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

网站开发主要用到哪些工具西安seo网站优化

网站开发主要用到哪些工具,西安seo网站优化,哈尔版网站建设,运动网站开发的需求分析现实场景中要实现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/448347.html

相关文章:

  • 能浏览的海外网站网站设计制作的服务怎么样
  • 网站商城建设如何避免内部竞争凡科建站登录官网
  • 轻松做网站友链申请
  • php做的网站预览搜索排名优化策划
  • 建立外贸英文网站应该怎么做怎么样推广自己的网址
  • 域名数和网站数指数基金是什么意思
  • 网站建设源码安装教程北京seo推广公司
  • 上海行业门户网站建设应用做网站优化的公司
  • 200万做网站百度推广客服电话
  • 做房地产开网站长工具seo综合查询分析
  • 商城类网站建设费用温岭网络推广
  • 东莞网站制作南城营销活动策划
  • 服务好的高端网站建设报价如何开通网站
  • 北京建设安全网络平台87西藏自治区seo 标题 关键词优化
  • 做b2c网站公司阿里巴巴推广
  • 社区网站建设方案nba最新排名东西部
  • 一般电商网站做集群下载百度网盘
  • 企业网页制作哪家公司好大侠seo外链自动群发工具
  • 现在允许做网站吗seo排名优化的网站
  • 推荐10个网站seo优化是什么意思
  • 做网站找客户烟台seo网络推广
  • 联盟网站做任务谷歌浏览器app下载
  • qq群网站推广精准营销的成功案例
  • ps cs6做网站框架的插件爱站网备案查询
  • wordpress 首行缩进 插件真实的优化排名
  • 网站域名好了下一步vi设计
  • 政府门户网站的建设方案网络推广是网络营销的基础
  • 蓝山网站建设深圳网络推广营销
  • 网络域名申请条件魔贝课凡seo
  • 做淘客网站怎么重庆网站seo好不好