Hallo Zusammen,
kurz zu meinem Anliegen. Ich erstelle mit Hilfe von iTextSharp eine PDF in der Werte aus einer Maske ausgelesen und aus einem DATAGRIDVIEW eingefügt werden.
Nun möchte ich nach einer bestimmten Zeile aus dem DATAGRIDVIEW eine neue Seite erstellen( PdfFile.NewPage).
For i As Integer = 0 To DataGridView1.Rows.Count - 2
For j As Integer = 0 To DataGridView1.Columns.Count - 1
pdfcell = New PdfPCell(New Phrase(DataGridView1(j, i).Value.ToString(), pTable))
PdfTable.HorizontalAlignment = PdfPCell.ALIGN_LEFT
PdfTable.AddCell(pdfcell)
Next
Next
PdfFile.Add(PdfTable)
Grund für diese Erweiterung ist, dass die Fußzeile mit der Zeile aus dem DATAGRIDVIEW kollidiert.
Also soll nach 20 DATAGRIDVIEW -Zeilen ein PdfFile.NewPage() folgen und anschließend soll auf Seite 2 der Datensatz 21 folgen.
Ab Datensatz 50 soll wieder eine neue Seite erstellt werden...
Inherits PdfPageEventHelper
Public Overrides Sub OnendPage(ByVal writer As iTextSharp.text.pdf.PdfWriter, ByVal document As iTextSharp.text.Document)
Dim bf As BaseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED)
Dim cb As PdfContentByte = writer.DirectContent
cb.BeginText()
cb.SetFontAndSize(bf, 12)
cb.SetTextMatrix(50, 30)
cb.ShowText("TEXTTEXT " & writer.PageNumber)
cb.EndText()
Ich habe es hiermit auch versucht hat aber es hat auch nicht geklappt:
For i As Integer = 0 To DataGridView1.Rows.Count - 2
For j As Integer = 0 To DataGridView1.Columns.Count - 1
pdfcell = New PdfPCell(New Phrase(DataGridView1(j, i).Value.ToString(), pTable))
PdfTable.HorizontalAlignment = PdfPCell.ALIGN_LEFT
PdfTable.AddCell(pdfcell)
Next
Select Case i
Case 20, 30, 60, 99
PdfFile.NewPage()
End Select
Next
PdfFile.Add(PdfTable)
)
Ich hoffe ich konnte mein Anliegen darstellen
Besten Dank und schöne Grüße
GerryGras