请参阅我的代码我在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();
答案 0 :(得分:1)
我不知道如何使用ItextSharp Property直接执行此操作。但是一种方法是在内容的左侧添加空格,为此,您可以获得字段长度并基于该长度和长度在内容中,您可以计算要添加到内容左侧的空格。它会自动将您的内容放在PDF字段的右侧。这样可以帮助您解决问题......
答案 1 :(得分: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