Html Div(带有标签和印地语 Unicode)到 asp.net c# 中的 PDF

Html Div (with tags and Hindi Unicode) to PDF in asp.net c#

我想使用 C# 将印地语(Unicode 字符)内容 HTML <div> 导出为 ASP.NET 中的 PDF。我已经尝试了许多不同的第三方 HTML 到 PDF 转换工具,例如 nReco、evopdf、hiqpdf,...None 从印地语文本不是这样的意义上来说,它们都可以正常工作显示,或者生成的文本未正确呈现。例如,如果我在 Unicode 中有文本 "न्‍यायालय,विरूद्व,डब्‍ल्‍यु",则字符呈现不正确。

我创建了一个 HTML 文件 devanagari.html:

<body>
<div>न्‍यायालय,विरूद्व,डब्‍ल्‍यु</div>
</body>

然后我使用 iText 7 + the pdfHTML add-on + the pdfCalligraph add-on.

将此文件转换为 PDF

您可以在以下屏幕截图中看到结果:

为了完成这项工作,我首先加载了我的 iText 7 许可证密钥以激活 iText 7 和 twoo 附加组件:

LicenseKey.loadLicenseFile(System.getenv("ITEXT7_LICENSEKEY") + "/itextkey.xml");

在 C# 中,您需要这样的东西(参见 How do I load a license key?):

LicenseKey.LoadLicenseFile("path/to/itextkey.xml");

然后我运行这行代码:

HtmlConverter.convertToPdf(new File(src), new File(dest));

在 C# 中,这类似于:

HtmlConverter.ConvertToPdf(src, dest);

其中 src 指的是您的 HTML,dest 指的是生成的 PDF。

据我从屏幕截图中可以看出,内容呈现正确。大多数其他工具将像这样呈现文本(如果它们完全呈现任何内容):

显然,这是不正确的,因为没有进行连字。

有关使用 iText 将 HTML 转换为 PDF 的更多信息,请参阅 HTML to PDF tutorial. For instance: if you want to use a different font than the default font that is shipped with pdfHTML (FreeSans), you should consult chapter 6: Using fonts in pdfHTML