1

私がpdfに値を書いている私のコードを参照してください。しかし、数値フィールドを右に揃えたいです。
そのためのプロパティ/メソッドはありますか。このプロパティを使用していますPdfFormField.MK_CAPTION_RIGHTが、機能していません。

var pdfReader = new PdfReader(outputPath);
string fontsfolder1 = @"D:\ItextSharp\Fonts\acmesab.TTF";
var pdfStamper1 = new PdfStamper(pdfReader, new FileStream(outputPath3, FileMode.Create));
BaseFont customfont1 = BaseFont.CreateFont(fontsfolder, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
   AcroFields af = pdfStamper1.AcroFields;
   List<BaseFont> list1 = new List<BaseFont>();
   list.Add(customfont1);
   iTextSharp.text.Font bold1 = new iTextSharp.text.Font(customfont1, 6, 0, BaseColor.BLACK);
   af.SubstitutionFonts = list;
   foreach (var field1 in af.Fields)
   {
            af.SetFieldProperty(field1.Key, "textalignment", PdfFormField.MK_CAPTION_RIGHT, null);
     af.SetField(field1.Key, "123");
   }
     pdfStamper1.FormFlattening = false;
     pdfStamper1.Close();
4

2 に答える 2

1

次のように、配置パラメーターを受け取る ShowTextAligned メソッドを使用して、テキストを配置できます。

cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT,"Text is left aligned",200,800,0);
cb.ShowTextAligned(PdfContentByte.ALIGN_RIGHT,"Text is right aligned",200,788,0);

cb はどこですかPdfContentByte

詳細はこちら

于 2013-02-13T07:56:29.067 に答える
1

ItextSharp プロパティを使用してこれを直接行う方法はわかりませんが、コンテンツの左側にスペースを追加する方法があります。これを行うには、フィールド長を取得し、その長さとコンテンツの長さに基づいて、コンテンツの左側に追加するスペースを計算できます。コンテンツは自動的に PDF フィールドの右側に配置されます。この方法が問題の解決に役立つことを願っています...

于 2013-02-13T07:48:54.160 に答える