Как использовать RtlDirection в itextsharp - PullRequest
0 голосов
/ 16 июня 2020

Я использую 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). Что мне делать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...