我正在尝试更改Column文本的字体,但它不会工作,我没有收到任何错误。文本显示在pdf上,但它不是我将其更改为的文本样式。谁能指出出了什么问题?
我已经看过像我这样的其他问题了,他们都得到了setfontandsize。我也没有在null引用或类似的东西上得到错误。
自定义字体的值与正确的文件相关联。
private void btn_print_Click(object sender, EventArgs e)
{
PdfReader reader = new PdfReader(@"C:\Users\jacob\Documents\test\3.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileStream(@"C:\Users\jacob\Documents\test\12).pdf", FileMode.Create));
int x = reader.NumberOfPages;
int[] a = Enumerable.Range(1,x).ToArray();
foreach (int n in a)
{
BaseFont customfont = FontFactory.GetFont(@"C:\Windows\Fonts\bgothm.ttf", BaseFont.CP1252, true).BaseFont;
PdfContentByte canvas = stamper.GetOverContent(n);
canvas.SetFontAndSize(customfont, 12);
ColumnText.ShowTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("nooooo"), 36, 540, 0);
}
stamper.Close();
}
答案 0 :(得分:1)
ColumnText.ShowTextAligned
不使用画布的当前字体。相反,它使用其Phrase
参数带来的字体;如果您没有为Phrase
设置任何特定字体,则会使用一些简单的默认字体。
要使用您选择的字体,请执行
ColumnText.ShowTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("nooooo", new Font(customfont, 12)), 36, 54, 0);
代替。