Hallo liebe Gemeinde, ich bin neu hier und hoffe, dass jemand mir helfen kann.
ich bin dabei derzeit ein kleines tool zu programmieren, dass pdf templates einliest und diese mit werten aus textboxen usw versieht. im anschluss speichert er mir die bearbeitete pdf ab.
als dll nutze ich iTextSharp, das funktioniert auch super, nur leider kriege ich von meinem templates lediglich die erste seite eingelesen. folgende seiten werden einfach abgeschnitten.
nun meine frage, wie bekomme ich es hin, dass das ganze dokument eingelesen wird?
hier mein code:
Hoffe jemand kann mir helfen, danke im Voraus
Beste Grüße
ich bin dabei derzeit ein kleines tool zu programmieren, dass pdf templates einliest und diese mit werten aus textboxen usw versieht. im anschluss speichert er mir die bearbeitete pdf ab.
als dll nutze ich iTextSharp, das funktioniert auch super, nur leider kriege ich von meinem templates lediglich die erste seite eingelesen. folgende seiten werden einfach abgeschnitten.
nun meine frage, wie bekomme ich es hin, dass das ganze dokument eingelesen wird?
hier mein code:
VB.NET-Quellcode
-
- If ComboBox1.SelectedItem = "DPD" Then
- Dim oldFile As String = "templates/dpd-schadenformular.pdf"
- Dim newFile As String = "output/DPD-Output.pdf"
- ' Create reader
- Dim reader As New PdfReader(oldFile)
- Dim size As Rectangle = reader.GetPageSizeWithRotation(1)
- Dim document As New Document(size)
- ' Create the writer
- Dim fs As New FileStream(newFile, FileMode.Create, FileAccess.Write)
- Dim writer As PdfWriter = PdfWriter.GetInstance(document, fs)
- document.Open()
- Dim cb As PdfContentByte = writer.DirectContent
- ' Set the font, color and size properties for writing text to the PDF
- Dim bf As BaseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED)
- cb.SetColorFill(BaseColor.DARK_GRAY)
- cb.SetFontAndSize(bf, 8)
- ' Write text in the PDF
- cb.BeginText()
- Dim kundennummer As String = "Kundennummer " & Form3.dpdkdnr.Text
- Dim trackid1 As String = track1.Text
- Dim trackid2 As String = track2.Text
- Dim descr As String = beschreibungschaden.Text
- Dim warenart As String = paketinhalt.Text
- Dim empfnam As String = empfnamebox.Text
- Dim empfstr As String = empfstrbox.Text
- Dim empfplz As String = empfplzbox.Text
- ' Set the alignment and coordinates here
- cb.ShowTextAligned(1, kundennummer, 360, 638, 0)
- cb.ShowTextAligned(1, trackid1, 336, 685, 0)
- cb.ShowTextAligned(1, trackid2, 430, 685, 0)
- cb.ShowTextAligned(1, descr, 150, 135, 0)
- cb.ShowTextAligned(1, warenart, 90, 235, 0)
- cb.ShowTextAligned(1, empfnam, 370, 441, 0)
- cb.ShowTextAligned(1, empfstr, 370, 416, 0)
- cb.ShowTextAligned(1, empfplz, 370, 381, 0)
- cb.EndText()
- ' Put the text on a new page in the PDF
- Dim page As PdfImportedPage = writer.GetImportedPage(reader, 1)
- cb.AddTemplate(page, 0, 0)
- ' Close the objects
- document.Close()
- fs.Close()
- writer.Close()
- reader.Close()
- ' -----------------------------------------------
- ' -----------------------------------------------
- ' --------------------- DPD Ende ----------------
- ' -----------------------------------------------
- ' -----------------------------------------------
- End If
Hoffe jemand kann mir helfen, danke im Voraus
Beste Grüße