使用wkhtmltopdf和C#生成阿拉伯语PDF时遇到问题。
下面的是我的代码作为样本
string HTML = "مرحبا";
Encoding utf = Encoding.GetEncoding("UTF-8");
Encoding unicode = Encoding.UTF8;
byte[] unicodeBytes = unicode.GetBytes(HTML);
HTML = utf.GetString(unicodeBytes);
结果是?????在pdf
我已经尝试了'-q -n --encoding UTF-8'
参数到wkhtmltopdf甚至没有成功。
任何想法如何解决这个问题?
答案 0 :(得分:2)
您的HTML字符串应具有正确的字符集和内容类型:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
答案 1 :(得分:0)
我建议您查看几个阿拉伯网站并尝试使用pdfcrowd或htm2pdf.co.uk进行转换 - 它们都使用wkhtmltopdf并将页面作为输入。
该页面中的内容(因此该字符串的格式)是您传递给wkhtmltopdf的内容。
答案 2 :(得分:0)
我通过创建临时HTML输入文件并将其发送到wkhtmltopdf引擎来设法渲染阿拉伯字符的唯一方法
答案 3 :(得分:0)
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
مرحبا
</body>
</html>
与我合作wkhtmltopdf 0.12.1
在C#中只需将HTML字符串保存在临时html文件中并运行wkhtmltopdf命令后删除临时html文件
答案 4 :(得分:0)
这对其他人可能有帮助。
我使用的是阿拉伯语的自定义字体,但我的服务器上没有安装。
必须安装它(+使用编码utf-8)才有效..