Set font for all text from Pdfptable with Itextsharp

大兔子大兔子 提交于 2019-12-02 16:53:24

问题


var htmlarraylist = HTMLWorker.ParseToList(new StringReader(htmlText), styles);
document.Open();

BaseFont Vn_Helvetica = BaseFont.CreateFont(@"C:\Windows\Fonts\arial.ttf", 
"Identity-H", BaseFont.EMBEDDED);
Font fontNormal = new Font(Vn_Helvetica, 12, Font.NORMAL);


                foreach (var t in htmlarraylist)
                {
                    if (t is PdfPTable)
                    {                          
                       //how set fontNormal all text from Pdfptable ?
                    }

                    document.Add((IElement)t);

                }

                    document.Close();

Can someone help me please


回答1:


Please try by setting font to the PdfPTable.DefaultCell property in you foreach loop

Example:
t.DefaultCell.Phrase = new Phrase() { Font = fontNormal };



回答2:


i have try set font family in pdf template. and show the following error also

'BaseFont' does not contain a definition for 'Cambria'

please suggest me...thanks

public void abcd()
        {
            try
            {
                string UniqueNumber = Request.QueryString["UniqueNumber"];
                string strFileName = UniqueNumber;
                string strFileExtension = ".pdf";
                string strContentType = FileManager.FileContentType_application_pdf;
                string strExportData = string.Empty;
                Document pdfDoc = new Document();
                HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
                var output = new MemoryStream();
                BaseFont bfTimes = BaseFont.CreateFont(BaseFont.Cambria, BaseFont.CP1252, false);
                //Font ChronicleFont = new Font(bfTimes, 26f);
                StringWriter sw = new StringWriter();
                HtmlTextWriter htw = new HtmlTextWriter(sw);
                StringReader sr;
                sr = new StringReader(Convert.ToString(ExportData.UserDetails(UniqueNumber)));
                PdfWriter.GetInstance(pdfDoc, output);
                pdfDoc.Open();
                htmlparser.Parse(sr);
                pdfDoc.Close();
                strFileName = strFileName.Replace(" - ", "-").Replace(" ", "-").Replace("--", "-");
                Response.ClearContent();
                Response.Buffer = true;
                Response.AddHeader("content-disposition", string.Format("attachment; filename={0}{1}", strFileName, strFileExtension));
                Response.ContentType = strContentType;
                Response.Charset = "";
                Response.BinaryWrite(output.ToArray());
                Response.Flush();
                Response.End();

            }
            catch (Exception ex)
            {
                //

            }
        }


来源:https://stackoverflow.com/questions/11577465/set-font-for-all-text-from-pdfptable-with-itextsharp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!