2012-07-23 392 views

回答

14

试试这个:

Font fontH1 = new Font(Currier, 16, Font.NORMAL); 

PdfPTable table = new PdfPTable(1); 

table.AddCell(new PdfPCell(new Phrase(yourDatabaseValue,fontH1))); 
+0

嗨,我正在越过文本的水平线。这意味着什么? – Aada 2013-01-07 11:05:13

0

不应该在创建文本时使用传递的Font对象更改字体大小吗?

如果你还没有读过,这本书的iText是特殊的,并会回答几乎任何问题,你有:http://itextpdf.com/book/index.php

0

请通过设置字体为PdfPTable.DefaultCell property

例尝试:

pdfTable.DefaultCell.Phrase = new Phrase() { Font = fontNormal }; 

我已经回答这个问题之前:Set font for all text from Pdfptable with Itextsharp

+0

Font = Font.Normal给出一个错误,不会将int隐式转换为Font。 – Aada 2012-07-24 07:54:01

+0

@我的例子中的VID fontNormal是Font的一个对象,例如new Font(.......);像这样 – HatSoft 2012-07-24 08:02:29

1

@Pabloker 我不确定,但在使用您的解决方案时出现错误。我无法决定使用哪种字体(com.itextpdf.text.Font或com.lowagie.text.Font或java.awt.Font或org.apache.poi.ss.usermodel.Font)。无论我使用何种方法,当我尝试将其放入单元格时,都会出现错误,表明不存在此类构造函数。我很抱歉,但我是iText的新手。

幸运的是,我已经找到了以下代码对我有用。

BaseFont bf = BaseFont.createFont(
         BaseFont.TIMES_ROMAN, 
         BaseFont.CP1252, 
         BaseFont.EMBEDDED); 
       Font font = new Font(bf, 12); 
       PdfPCell pdfCell = new PdfPCell(new Phrase(sCellVal,font)); 

说明中使用的字体是型com.itextpdf.text.Font和BASEFONT的是类型com.itextpdf.text.pdf.BaseFont 的这解决了编译问题。