如何在 C# 中从 DataGridView 导出为 PDF 时更改文本大小?



我已经将所有数据放在数据库中的datagridview表中,我必须打印此表,但是打印页面中的字体太小,因此我想更改打印页面中单元格行的字体大小。

pdfTable.AddCell(cell.Value.ToString()); 

上面的这一行不允许我 2 个参数,例如(单元格。Value.ToString((,"arial",14(;这给了我错误。 那么如何更改字体大小呢?

//Adding Header row
foreach (DataGridViewColumn column in dataGridView1.Columns)
{
PdfPCell cell = new PdfPCell(new Phrase(column.HeaderText));
cell.BackgroundColor = new iTextSharp.text.Color(0, 240, 240);
cell.PaddingBottom = 10f;
cell.PaddingLeft = 20f;
cell.PaddingTop = 4f;
pdfTable.AddCell(cell);              
}           
//Adding DataRow
foreach (DataGridViewRow row in dataGridView1.Rows)
{

foreach (DataGridViewCell cell in row.Cells)
{
iTextSharp.text.Font fon = FontFactory.GetFont("ARIAL", 30);
pdfTable.AddCell(cell.Value.ToString());
}
}

首先:您正在使用不再受支持的iText版本。当前版本是 iText 7;您使用的是 iText 5 或更早版本。

话虽如此,在您的代码中,您创建了一个变量fon,但您从不使用该变量:

iTextSharp.text.Font fon = FontFactory.GetFont("ARIAL", 30);
pdfTable.AddCell(cell.Value.ToString());

你应该像这样使用它:

iTextSharp.text.Font fon = FontFactory.GetFont("ARIAL", 30);
pdfTable.AddCell(new Phrase(cell.Value.ToString(), fon));

使用 iText7 而不是 iText 5 的优点之一是,您可以在表格级别设置字体。完成此操作后,所有单元格都将继承该字体,并且您不必为添加的每个单元格创建新Phrase

请升级到 iText 7: https://developers.itextpdf.com/itext7/download-and-install-information/NET

最新更新