首先,我对C#并不是那么好,自从我使用它以来已经有一段时间了.
我正在为一个提供包裹的朋友制作一个Windows窗体.因此,我想将他当前的论文表格转换为带有iTextSharp库的.pdf.他仍然需要打印表格以获得客户签名等.
我需要的是: 我希望表格有一个标题,"公司名称",例如,文本应该比从Windows窗体输入的文本小一点(richTextBox1)
目前我正在使用单元格,并想知道我是否可以在同一个单元格中使用2种不同的字体大小?
是)我有的:
table.AddCell("Static headline" + Chunk.NEWLINE + richTextBox1.Text);
Run Code Online (Sandbox Code Playgroud)
我想要的是":
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);
Run Code Online (Sandbox Code Playgroud)
Bru*_*gie 13
你将a String和a 传递Font给AddCell()方法.那不行.你需要的AddCell(),需要一个方法Phrase对象或PdfPCell对象作为参数.
A Phrase是由不同的Chunks 组成的对象,不同的Chunks可以具有不同的字体大小.有关此对象的更多信息,请阅读我的书的第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);
Run Code Online (Sandbox Code Playgroud)
A PdfPCell是一个可以添加不同对象的对象,例如Phrases,Paragraphs,Images,...
PdfPCell cell = new PdfPCell();
cell.AddElement(new Paragraph("Hello"));
cell.AddElement(list);
cell.AddElement(image);
Run Code Online (Sandbox Code Playgroud)
在这个片段list类型List和image类型Image.
第一个片段使用文本模式 ; 第二个片段使用复合模式.根据您使用的模式,单元格的行为会有很大差异.