如何在pdf itextsharp中添加字体系列c#

时间:2017-09-12 07:12:08

标签: c# pdf model-view-controller fonts itext

以下是代码:

StringBuilder sb = new StringBuilder();




 sb.Append("<table border='1'  style='border-
          collapse:collapse;width:100%;margin-top:10px;font-family: 'Source Sans 
       Pro','Helvetica Neue',Helvetica,Arial,sans-serif !important;font-size: 
       14px !important;font-weight: 300;'>");
            sb.Append("<tr>");
            sb.Append("<td align='center' style='padding:5px;'>");
            sb.Append("Question");
            sb.Append("</td>");
            sb.Append("<td align='center' style='padding:5px;'>");
            sb.Append("<h4>Answer</h4>");
            sb.Append("</td>");
            sb.Append("</tr>");

            sb.Append("<tr>");
            sb.Append("<td style='padding:5px;'>");
            sb.Append("Gender");
            sb.Append("</td>");
            sb.Append("<td style='padding:5px;'>");
            sb.Append(result.Rows[0]["Question1"].ToString());
            sb.Append("</td>");
            sb.Append("</tr>");

            sb.Append("<tr>");
            sb.Append("<td style='padding:5px;'>");
            sb.Append("Age Group");
            sb.Append("</td>");
            sb.Append("<td style='padding:5px;'>");
            sb.Append(result.Rows[0]["Question2"].ToString());
            sb.Append("</td>");
            sb.Append("</tr>");

        StringReader sr = new StringReader(sb.ToString());
        Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
        HTMLWorker htmlparser = new HTMLWorker(pdfDoc);

        using (MemoryStream memoryStream = new MemoryStream())
        {
            PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);

            pdfDoc.Open();

            htmlparser.Parse(sr);
            pdfDoc.Close();

            byte[] bytes = memoryStream.ToArray();
            memoryStream.Close();
            Response.Clear();
            Response.ContentType = "application/pdf";                     
            Response.AddHeader("Content-Disposition", "; filename=Survey.pdf");

            Response.Buffer = true;
            Response.Charset = "";
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.BinaryWrite(bytes);

            Response.Flush();
            Response.End();
            Response.Close();

        }

在这里我如何添加字体系列:&#39; Source Sans Pro&#39;,&#39; Helvetica Neue&#39;,Helvetica,Arial,sans-serif!important和font-weight:400;对于此pdf中的所有文本。

如何在pdf itextsharp中添加字体系列和字体样式。

我正在使用一些代码但没有工作。表中的sb.Append中的样式在.net c#中的pdf页面中不起作用。我正在尝试下面的代码,但没有工作:

//Font fon = FontFactory.GetFont("Source Sans Pro", 14);
                //Font fon1 = FontFactory.GetFont("Helvetica Neue", 14);
                //Font fon2 = FontFactory.GetFont("Helvetica", 14);
                //Font fon3 = FontFactory.GetFont("Arial", 14);
                //Font fon4 = FontFactory.GetFont("sans-serif", 14);  

任何建议??

0 个答案:

没有答案