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

C# Wkhtmltopdf HTML转PDF碰到的问题

最近碰到一个Html转PDF的需求,看了一下基本上都是需要依赖Wkhtmltopdf,需要在Windows或者linux安装这个可以后使用。找了一下选择了HtmlToPDFCore,这个库是对Wkhtmltopdf.NetCore简单二次封装,这个库的好处就是通过NuGet安装HtmlToPDFCore就带了Windows/Mac/Linux的依赖包,就是包有点大。HtmlToPDFCore包含了Wkhtmltopdf.NetCore,直接用Wkhtmltopdf.NetCore也是可以的。

下面总结一下碰到的问题:

1、权限问题
An error occurred trying to start process '/path/rotativa/Linux/wkhtmltopdf' with working directory '/path'. Permission denied

本质上Wkhtmltopdf.NetCore是通过进程调用Wkhtmltopdf的,在Linux会有执行权限问题,需要给到wkhtmltopdf执行权限

image

2、中文乱码的问题

中文在Windows是正常的,但是Linux有问题

# 安装中文字体包
sudo apt-get update
sudo apt-get install -y \fonts-wqy-microhei \fonts-wqy-zenhei \fonts-noto-cjk \ttf-mscorefonts-installer \fontconfig# 刷新字体缓存
sudo fc-cache -fv# 验证中文字体安装
fc-list :lang=zh
3、直接通过wkhtmltopdf检查是否可以正常使用

wkhtmltopdf是可以直接调用的


如果输出的pdf是正常的,那么在代码里调用也是正常的

接下来就可以正常使用了:

HtmlToPDFCore.HtmlToPDF htmlToPDF   = new HtmlToPDFCore.HtmlToPDF();var html ="<html><body>123中文</body></html>";return File(htmlToPDF.ReturnPDF(html), "application/pdf", $"{id}_{DateTime.Now:yyyyMMddHHmmss}.pdf");

HtmlToPDFCore项目地址:GitHub - carloscds/HtmlToPDFCore: Convert HTML to PDF

相关文章:

  • RDMA简介3之四种子协议对比
  • 图神经网络实战——图属性度量方法详解
  • 人机融合智能 | 可穿戴计算设备的多模态交互
  • java从azure中读取用户信息
  • 【Pandas】pandas DataFrame sample
  • 微软重磅发布Magentic UI,交互式AI Agent助手实测!
  • mybatis 参数绑定错误示范(1)
  • AWS DocumentDB vs MongoDB:数据库的技术抉择
  • PostgreSQL的扩展 pg_buffercache
  • 第5篇《中间件负载均衡与连接池管理机制设计》
  • 银行用户评分规则 深度学习
  • Linux容器篇、第一章_01Linux系统下 Docker 安装与镜像部署全攻略
  • 分布式爬虫代理IP使用技巧
  • C++性能优化指南
  • go的工具库:github.com/expr-lang/expr
  • 突破数据孤岛:StarRocks联邦查询实战指南
  • 【发布实录】云原生+AI,助力企业全球化业务创新
  • Java设计模式:责任链模式
  • Linux 特殊权限位详解:SetUID, SetGID, Sticky Bit
  • 数据结构第一章
  • 广告制做公司资质/seo推广编辑
  • web制作网页实验报告/百度网站如何优化排名
  • 北京市建设委员会官方网站/百度销售平台
  • 网站制作素材全套/提高工作效率的方法有哪些
  • 网站站内链接怎么做/人际网络营销2900
  • 南京做网站企业/无锡百度正规公司