首先,我对C#的了解不是那么好,而且已经有一段时间了。
我正在为交付包裹的朋友制作Windows表单。因此,我想使用库iTextSharp将他当前的书面表格转换为.pdf。他仍然需要打印表格以获取客户签名等。
我需要什么:我希望表格有一个小标题,例如“公司名称”,文本应比从Windows窗体(richTextBox1)输入的文本小一些。
目前,我正在使用单元格,想知道是否可以在同一单元格中使用2种不同的字体大小?
我拥有的:
table.AddCell("Static headline" + Chunk.NEWLINE + richTextBox1.Text);
我想要的是”:
var normalFont = FontFactory.GetFont(FontFactory.HELVETICA, 9);
var boldFont = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 12);
table.AddCell("Static headline", boldFont + Chunk.NEWLINE + richTextBox1.Text, normalFont);
您正在将aString
和a传递Font
给AddCell()
方法。那是行不通的。您需要AddCell()
将一个Phrase
对象或一个PdfPCell
对象作为参数的方法。
APhrase
是由不同组成的对象,Chunk
不同Chunk
可以具有不同的字体大小。请阅读我的书的第2章以获取有关该对象的更多信息。
Phrase phrase = new Phrase();
phrase.Add(
new Chunk("Some BOLD text", new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD))
);
phrase.Add(new Chunk(", some normal text", new Font()));
table.AddCell(phrase);
APdfPCell
是可以向其添加不同对象的对象,例如Phrase
s,Paragraph
s,Image
s,...
PdfPCell cell = new PdfPCell();
cell.AddElement(new Paragraph("Hello"));
cell.AddElement(list);
cell.AddElement(image);
在这个片段list
是类型List
和image
类型为Image
。
第一个片段使用文本模式; 第二个片段使用复合模式。单元格的行为非常不同,具体取决于您使用的模式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句