Public Function Getcolumnaszise(ByVal dg As DataGridView) As Single()
Dim values As Single() = New Single(dg.ColumnCount - 1) {}
For i As Integer = 0 To dg.ColumnCount - 1
values(i) = CSng(dg.Columns(i).Width)
Next
Return values
End Function
Public Sub exoportardatospdf(ByVal document As Document)
Dim datatable As New PdfPTable(DataGridView1.ColumnCount)
datatable.DefaultCell.Padding = 3
Dim headerwidths As Single() = Getcolumnaszise(DataGridView1)
datatable.SetWidths(headerwidths)
datatable.WidthPercentage = 100
datatable.DefaultCell.BorderWidth = 2
datatable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER
Dim encabezado As New Paragraph("Reporte de viajes", New Font(Font.Name = "Tahoma", 20, Font.Bold))
Dim texto As New Phrase("Reporte de viajes realizados:" + Now.Date(), New Font("Tahoma", 14, Font.Bold))
For i As Integer = 0 To DataGridView1.ColumnCount - 1
datatable.AddCell(DataGridView1.Columns(i).HeaderText)
Next
datatable.HeaderRows = 1
datatable.DefaultCell.BorderWidth = 1
For i As Integer = 0 To DataGridView1.RowCount - 1
For j As Integer = 0 To DataGridView1.ColumnCount - 1
Next
datatable.CompleteRow()
Next
document.Add(encabezado)
document.Add(texto)
document.Add(datatable)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try
Dim doc As New Document(PageSize.A4.Rotate(), 10, 10, 10, 10)
Dim filename As String = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\lista de viajes.pdf"
Dim file As New FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)
PdfWriter.GetInstance(doc, file)
doc.Open()
exoportardatospdf(doc)
doc.Close()
Process.Start(filename)
Catch ex As Exception
MessageBox.Show("No se puede crear el documento", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub