Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用wkhtmltopdf生成阿拉伯文PDF_Asp.net_C# 4.0_Pdf Generation_Arabic_Wkhtmltopdf - Fatal编程技术网

Asp.net 使用wkhtmltopdf生成阿拉伯文PDF

Asp.net 使用wkhtmltopdf生成阿拉伯文PDF,asp.net,c#-4.0,pdf-generation,arabic,wkhtmltopdf,Asp.net,C# 4.0,Pdf Generation,Arabic,Wkhtmltopdf,我在使用wkhtmltopdf和C#制作阿拉伯语PDF时遇到问题 string HTML = "مرحبا"; Encoding utf = Encoding.GetEncoding("UTF-8"); Encoding unicode = Encoding.UTF8; byte[] unicodeBytes = unicode.GetBytes(HTML); HTML = utf.GetStrin

我在使用wkhtmltopdf和C#制作阿拉伯语PDF时遇到问题

 string HTML = "مرحبا";
            Encoding utf = Encoding.GetEncoding("UTF-8");
            Encoding unicode = Encoding.UTF8;
            byte[] unicodeBytes = unicode.GetBytes(HTML);
            HTML = utf.GetString(unicodeBytes);
下面是我的代码示例

 string HTML = "مرحبا";
            Encoding utf = Encoding.GetEncoding("UTF-8");
            Encoding unicode = Encoding.UTF8;
            byte[] unicodeBytes = unicode.GetBytes(HTML);
            HTML = utf.GetString(unicodeBytes);
结果是""?????pdf格式 我尝试了
'-q-n--将UTF-8'
参数编码为wkhtmltopdf,但没有成功。
你知道如何解决这个问题吗?

我建议你看看一些阿拉伯语网站,尝试使用pdfcrowd或htm2pdf.co.uk进行转换-它们都使用wkhtmltopdf,只需将页面作为输入

 string HTML = "مرحبا";
            Encoding utf = Encoding.GetEncoding("UTF-8");
            Encoding unicode = Encoding.UTF8;
            byte[] unicodeBytes = unicode.GetBytes(HTML);
            HTML = utf.GetString(unicodeBytes);

页面中的任何内容(字符串的格式)都是传递给wkhtmltopdf的内容。

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

 string HTML = "مرحبا";
            Encoding utf = Encoding.GetEncoding("UTF-8");
            Encoding unicode = Encoding.UTF8;
            byte[] unicodeBytes = unicode.GetBytes(HTML);
            HTML = utf.GetString(unicodeBytes);

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

您的HTML字符串应具有正确的字符集和内容类型:

 string HTML = "مرحبا";
            Encoding utf = Encoding.GetEncoding("UTF-8");
            Encoding unicode = Encoding.UTF8;
            byte[] unicodeBytes = unicode.GetBytes(HTML);
            HTML = utf.GetString(unicodeBytes);
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

您的HTML字符串应具有正确的字符集和内容类型:

 string HTML = "مرحبا";
            Encoding utf = Encoding.GetEncoding("UTF-8");
            Encoding unicode = Encoding.UTF8;
            byte[] unicodeBytes = unicode.GetBytes(HTML);
            HTML = utf.GetString(unicodeBytes);
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

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

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

 string HTML = "مرحبا";
            Encoding utf = Encoding.GetEncoding("UTF-8");
            Encoding unicode = Encoding.UTF8;
            byte[] unicodeBytes = unicode.GetBytes(HTML);
            HTML = utf.GetString(unicodeBytes);

مرحبا

مرحبا

这可能对其他人有所帮助

 string HTML = "مرحبا";
            Encoding utf = Encoding.GetEncoding("UTF-8");
            Encoding unicode = Encoding.UTF8;
            byte[] unicodeBytes = unicode.GetBytes(HTML);
            HTML = utf.GetString(unicodeBytes);
我使用的是阿拉伯语自定义字体,但服务器上没有安装

 string HTML = "مرحبا";
            Encoding utf = Encoding.GetEncoding("UTF-8");
            Encoding unicode = Encoding.UTF8;
            byte[] unicodeBytes = unicode.GetBytes(HTML);
            HTML = utf.GetString(unicodeBytes);

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

这可能对其他人有所帮助

 string HTML = "مرحبا";
            Encoding utf = Encoding.GetEncoding("UTF-8");
            Encoding unicode = Encoding.UTF8;
            byte[] unicodeBytes = unicode.GetBytes(HTML);
            HTML = utf.GetString(unicodeBytes);
我使用的是阿拉伯语自定义字体,但服务器上没有安装

 string HTML = "مرحبا";
            Encoding utf = Encoding.GetEncoding("UTF-8");
            Encoding unicode = Encoding.UTF8;
            byte[] unicodeBytes = unicode.GetBytes(HTML);
            HTML = utf.GetString(unicodeBytes);

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

pdfcrowd正确地呈现了单词,htm2pdf没有,这里仍然没有解决方案pdfcrowd正确地呈现了单词,htm2pdf没有,这里仍然没有解决方案已经尝试过这一点:“我认为它在这里没有编码问题,我尝试使用记事本创建一个新的html文件,使用utf-8编码,并将其发送到wkhtmltopdf引擎。它正确地呈现了该文件。在我的情况下,我需要使用c#进行编码,这在我的情况下不起作用。请删除上述编码转换行,然后再次测试。c#中的字符串是Unicode+您可以尝试相同的结果..由于某种原因,转换不起作用,默认编码应该是Unicode,我试图将其转换为UTF-8,但没有成功,即使是wkHtmltoPdf--编码UTF-8似乎也不起作用。我已经尝试过这样做:“مح㶕㶕㶋”我认为它在这里没有编码问题,我尝试使用记事本创建一个新的html文件,使用utf-8编码,并将其发送到wkhtmltopdf引擎。它正确地呈现了该文件。在我的情况下,我需要使用c#进行编码,这在我的情况下不起作用。请删除上述编码转换行,然后再次测试。c#中的字符串是Unicode+您可以尝试相同的结果..由于某些原因,转换不起作用,默认编码应该是Unicode,我试图将其转换为UTF-8,但没有成功,即使wkHtmltoPdf--编码UTF-8似乎也没有任何作用
 string HTML = "مرحبا";
            Encoding utf = Encoding.GetEncoding("UTF-8");
            Encoding unicode = Encoding.UTF8;
            byte[] unicodeBytes = unicode.GetBytes(HTML);
            HTML = utf.GetString(unicodeBytes);