【发布时间】:2013-09-10 13:41:49
【问题描述】:
我正在使用 ItextSharp 5.0.5 创建 PDF
使用以下代码
1)
var _with1 = underContent;
_with1.SaveState();
_with1.SetGState(gstate);
_with1.SetColorFill(color);
_with1.BeginText();
_with1.SetFontAndSize(font, txt_Font2);
_with1.SetTextMatrix(30, 30);
//**1**//
_with1.ShowTextAligned(Element.ALIGN_CENTER, watermarkText, txt_X2, txt_Y2, txt_Rotat2);
//**1**//
_with1.EndText();
_with1.RestoreState();
2)
//**2**//
ColumnText.ShowTextAligned(_with1, Element.ALIGN_CENTER, new Phrase(new Chunk(watermarkText, FontFactory.GetFont(@"C:\WINDOWS\Fonts\" + FntNm + ".TTF", txt_Font2, 0))), txt_X2, txt_Y2, txt_Rotat2);
//**2**//
将//**1**// 替换为//**2**// 我收到以下错误
我需要使用 //2// 来生成 iTextsharp 的 BaseFont 不支持的 UNDERLINE
请帮忙!!
【问题讨论】:
-
FWIW - PDF 中没有下划线文本。下划线是通过画一条实际的线来制作的。
-
ColumnText.ShowTextAligned调用SaveState,BeginText等等。因此,使用时不要自己启动文本对象。
标签: c# itextsharp