Я использую ItextSharp для экспорта PDF в свой код, и мне нужно использовать шрифт Unicode. это мой код
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter hw = new HtmlTextWriter(sw))
{
DataTable dt = new DataTable();
dt.Clear();
dt.Columns.Add("Name");
dt.Columns.Add("Marks");
DataRow _ravi = dt.NewRow();
_ravi["Name"] = "تست فارسی";//Persian Text
_ravi["Marks"] = "500";
dt.Rows.Add(_ravi);
GridView gv = new GridView();
gv.DataSource = dt;
gv.DataBind();
Session["rr"] = gv;
//To Export all pages
var GridView1 = (GridView)Session["rr"];
GridView1.AllowPaging = false;
//this.BindGrid();
GridView1.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A2, 10f, 10f, 10f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
string ARIALUNI_TFF = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "times.ttf");
//Create a base font object making sure to specify IDENTITY-H
BaseFont bf = BaseFont.CreateFont(ARIALUNI_TFF, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font f = new Font(bf, 12, Font.NORMAL);
HeaderFooter header = new HeaderFooter(new Phrase("تست" + ", " + DateTime.Now.ToString(),f),false);
pdfDoc.Header = header;
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Write(pdfDoc);
Response.End();
}
}
, теперь мне нужно установить направление или RunDirection в моем заголовке и моем содержимом (htmlparser). Что мне делать?