0

使用 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 的参数,甚至没有成功。知道如何解决这个问题吗?

4

5 回答 5

3

您的 HTML 字符串应具有正确的字符集和 Content-Type:

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
于 2012-12-18T18:04:44.030 回答
0

我设法通过创建临时 HTML 输入文件并将其发送到 wkhtmltopdf 引擎来呈现阿拉伯字符的唯一方法

于 2013-01-01T14:38:15.987 回答
0

<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
       مرحبا
</body>
</html>

它与我在 C# 中的 wkhtmltopdf 0.12.1中运行良好,
只需将 HTML 字符串保存在临时 html 文件中,然后运行 ​​wkhtmltopdf 命令
,然后删除临时 html 文件

于 2014-09-22T05:01:00.533 回答
0

我建议您查看一些阿拉伯语网站并尝试使用 pdfcrowd 或 htm2pdf.co.uk 进行转换——它们都使用 wkhtmltopdf 并且只将页面作为输入。

该页面中的任何内容(因此该字符串的格式)就是您传递给 wkhtmltopdf 的内容。

于 2012-12-18T16:20:08.110 回答
0

这可能对其他人有帮助。

我正在使用我的服务器上未安装的阿拉伯语自定义字体。

必须安装它(+ 使用编码 utf-8),然后它才能工作..

于 2017-08-08T08:09:00.793 回答