itextsharp是否支持c#中的快递新字体或任何其他注册字体

时间:2013-01-31 12:03:14

标签: c# fonts itextsharp

我已经准备好了pdf模板。在pdf上匹配键的写入值。需要根据requireemnt设置不同的字体和字体大小使用itextsharp(pdfstamper)。 但我想设置各种不同的字体,如CourierNew,Arial和其他一些第三方注册字体。如何使用itextsharp使用这些不同的字体。 请参阅以下代码段。 以下代码片段用于在pdf模板上写入值 设置字体调用函数SetPrintFont,其中定义了不同的字体和字体大小。 请指导相同的

var pdfReader = new PdfReader(filebyte);
var pdfStamper = new PdfStamper(pdfReader, new FileStream(pdfname, FileMode.Create));

AcroFields pdfFormFields = pdfStamper.AcroFields;
foreach (DictionaryEntry de in pdfReader.AcroFields.Fields)
 { 

//set the field to bold
 pdfFormFields.SetFieldProperty(de.Key.ToString(), "textfont", font.BaseFont, null);
 Regex regex = new Regex(@"^\d$");
         if (regex.IsMatch(de.Key.ToString()))
             {
                //set the text of the form field
                 pdfFormFields.SetField(de.Key.ToString(), response.ResponseValues.ToString());
             }
         else
              {
                  pdfFormFields.SetField(de.Key.ToString(), response.ResponseValues.ToString());
              }

            }
        pdfStamper.FormFlattening = false;
        pdfStamper.Close();

}

1 个答案:

答案 0 :(得分:3)

你可以得到这样的注册字体列表:

ICollection<string> registeredFonts = iTextSharp.text.FontFactory.RegisteredFonts;

无论如何,iTextSharp你可以使用你想要的任何字体。如果找不到所需的字体,可以从互联网上下载.ttf文件并附上:

BaseFont baseFont = BaseFont.CreateFont(fontFolderPath + "arial.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED)
Font font = iTextSharp.text.Font(baseFont, fontSize, iTextSharp.text.Font.BOLD);

BaseFontiTextSharp.text.pdf

的成员