Я использую iTextSharp для преобразования содержимого HTML в файл PDF, но у меня возникает проблема, когда содержимое HTML на арабском языке выглядит следующим образом:
, и это мой код:
Public Shared Function ExportToPDF(lang As String) As String
Try
Dim stringWrite As New System.IO.StringWriter
Dim htmlWrite As New HtmlTextWriter(stringWrite)
divExport.RenderControl(htmlWrite)
Dim text As String
text = String.Format("<html><head><style type='text/css'>{0}</style></head><body>{1}</body></html>", "body{font-color:red;}", stringWrite.ToString)
Dim sr As New StringReader(text)
Dim pdfDoc As New Document(PageSize.A4, 10.0F, 10.0F, 10.0F, 0.0F)
Dim writer As PdfWriter = PdfWriter.GetInstance(pdfDoc, Response.OutputStream)
pdfDoc.Open()
XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr)
pdfDoc.Close()
Response.ContentType = "application/pdf"
Response.AddHeader("content-disposition", "attachment;filename=FileName.pdf")
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Response.Write(pdfDoc)
Response.End()
Catch ex As Exception
End Try
Return Nothing
End Function
divExport:
<div id="divExport">
<h1>Header</h1>
<table>
<tr>
<td>Questions</td><td>الاسئلة</td>
</tr>
</table>
<h2>Questions Answers</h2>
<table>
<tr>
<td>Device Type</td><td>جهاز الكمبيوتر</td>
</tr>
</table>
</div>