Я использую следующий код для преобразования html в pdf. Но арабский язык не отображается при создании PDF. В чем проблема с следующим кодом.Арабский не отображается при преобразовании html в pdf в itext sharp asp.net C#
//Create a byte array that will eventually hold our final PDF
Byte[] bytes;
using (var ms = new MemoryStream())
{
FontFactory.Register(Server.MapPath("~/fonts/TRADBDO.TTF"));
using (var doc = new Document())
{
using (var writer = PdfWriter.GetInstance(doc, ms))
{
doc.Open();
var example_html = @"<p>This <em>is البرامج الدراسية المطروحة البرامج الدراسية المطروحةالبرامج الدراسية المطروحةالبرامج الدراسية المطروحةالبرامج الدراسية المطروحةالبرامج الدراسية المطروحة</em>55555<span class=""headline"" style=""text-decoration: underline;"">some</span> <strong>sample <em> text</em></strong><span style=""color: red;"">!!!</span></p>";
var example_css = @".headline{font-size:200%}";
FontFactory.Register(Server.MapPath("~/fonts/TRADBDO.TTF"));
using (var msCss = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(example_css)))
{
using (var msHtml = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(example_html)))
{
iTextSharp.tool.xml.XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, msHtml, msCss);
}
}
doc.Close();
}
}
bytes = ms.ToArray();
}
var testFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "test_123_345.pdf");
System.IO.File.WriteAllBytes(testFile, bytes);
Возможный дубликат [RTL не работает в формате pdf с текстом 5.5 для арабского текста] (http://stackoverflow.com/questions/23889488/rtl-not-working-in-pdf-generation-with-itext-5 -5-для-арабского текста). Пример представлен на Java, но тривиально изменить его на C#. –
* Я не использую itextsharp * - почему вы так пометили его? И почему вы используете классы iTextSharp? – mkl
почему вы отрицательный я использую ITEXT SHARP.Sorry Я ошибочно пишу «не» с моим предложением в комментарии –