0

Itextsharp(pdfstamper) を使用して、requireemnt に基づいて異なるフォントとフォント サイズを設定する必要があります。しかし、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();

}

4

1 に答える 1

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);

BaseFontのメンバーですiTextSharp.text.pdf

于 2013-01-31T12:10:50.250 に答える