Как itextsharp PDF в DataGrid, чтобы экспорт в PDF совершенно БТ хедер текст небольшой, но вниз клетки не маленькие. Как сделать так, чтобы все шрифты были маленькими по размеру коробки.?
когда я экспортирую в pdf, то шрифт heders маленький, а другие ячейки имеют больший размер.
я могу упомянуть размер шрифта, но не сделал этого.
Что я уже пробовал:
<pre> Dim pdfTable As New PdfPTable(DataGridView1.ColumnCount) pdfTable.DefaultCell.Padding = 3 pdfTable.WidthPercentage = 100 pdfTable.HorizontalAlignment = Element.ALIGN_LEFT pdfTable.DefaultCell.BorderWidth = 1 Dim yourFont As BaseFont = BaseFont.CreateFont("c:\windows\fonts\arial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED) Dim mainFont As New Font(yourFont, 8, Font.Bold) 'Adding Header row For Each column As DataGridViewColumn In DataGridView1.Columns Dim cell As New PdfPCell(New Phrase(column.HeaderText, mainFont)) cell.BackgroundColor = New iTextSharp.text.BaseColor(240, 240, 240) pdfTable.AddCell(cell) Next 'Adding DataRow For Each row As DataGridViewRow In dataGridView1.Rows For Each cell As DataGridViewCell In row.Cells pdfTable.AddCell(cell.Value.ToString()) Next Next 'Exporting to PDF ' SaveFileDialog1.FileName = "" ' SaveFileDialog1.Filter = "PDF (*.pdf)|*.pdf" ' Dim folderPath As String = SaveFileDialog1.ShowDialog 'Using stream As New FileStream(folderPath & "", FileMode.Create) ' Dim pdfDoc As New Document(PageSize.A2, 10.0F, 10.0F, 10.0F, 0.0F) ' PdfWriter.GetInstance(pdfDoc, Stream) ' pdfDoc.Open() ' pdfDoc.Add(pdfTable) ' pdfDoc.Close() ' Stream.Close() 'End Using Dim SaveFileDialoga = New SaveFileDialog() SaveFileDialoga.Filter = "PDF Files|*.pdf" SaveFileDialoga.FilterIndex = 0 If (SaveFileDialoga.ShowDialog() = DialogResult.OK) Then End If Dim myDocument = New Document(iTextSharp.text.PageSize.A4, 10.0F, 10.0F, 10.0F, 10.0F) PdfWriter.GetInstance(myDocument, New FileStream(SaveFileDialoga.FileName, FileMode.Create)) myDocument.Open() myDocument.Add(pdfTable) myDocument.Close()
Richard Deeming
Это было бы потому, что вы говорите своим заголовкам, чтобы они отображались на 8pt, но позволяете вашим строкам данных использовать любой размер шрифта по умолчанию.
Arnav121
как отрисовывать строки данных шрифтом есть какие-нибудь идеи?
Richard Deeming
Точно так же, как вы делаете это для строки заголовка.
Arnav121
скажи мне как пример
Richard Deeming
Заменять:
pdfTable.AddCell(cell.Value.ToString())
с:
Dim cell As New PdfPCell(New Phrase(cell.Value.ToString(), mainFont)) pdfTable.AddCell(cell)
Arnav121
своя работа.....
Большое вам спасибо за помощь.
ты же прекрасно знаешь vb.net-что???