Bild in Header mit itextsharp

  • VB.NET
  • .NET 4.5

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Drachie.

    Bild in Header mit itextsharp

    Moin, habe nach langen hin und er damit begonnen ein Tool für die Internt IT Abteilung bei mir in der Firma zu programmieren.

    soweit läuft auch alles bis auf eines:

    in den Checkliste zur Einrichtung von Geräten soll automatisch im Header Links oben das firmenlogo erscheinen auf den PDF's die beim Speichern generiert werden sollen.

    Die Chekliste an sich bekomme ich hin das die generiert wird. Verzweifel aber gerade daran das Logo einzupflegen.

    vielleicht hat einer von euch eine Zündende Idee. anbei den Codeschnipsel von der erstellung des PDF header:

    VB.NET-Quellcode

    1. 'PDF Deklaration
    2. Dim newFile As String = pfad & "\" & "Checkliste_ADM_DE_" & DateTime.Now.Day & "." & DateTime.Now.Month & "." & DateTime.Now.Year & ".pdf"
    3. Dim pdfdoc As New Document()
    4. Dim pdfWrite As PdfWriter = PdfWriter.GetInstance(pdfdoc, New FileStream(newFile, FileMode.Create))
    5. 'PDF Header Deklarieren
    6. Dim img As Object = My.Resources.ResourceManager.GetObject("logo")
    7. Dim image As itextsharp.text.Image = itextsharp.text.Image.GetInstance(img)
    8. 'PDF Erstellen
    9. pdfdoc.Open()
    10. 'Schriftart festlegen
    11. Dim fontpath As String = "C:\Windows\fonts"
    12. Dim bf As BaseFont = BaseFont.CreateFont(fontpath &
    13. "arial.ttf", BaseFont.CP1252, BaseFont.EMBEDDED)
    14. Dim ffont As New Font(bf, 10)
    15. Dim table1 As New PdfPTable(3)
    16. Dim cell1 As New PdfPCell(New Phrase("IT Department"))
    17. cell1.Colspan = 12
    18. cell1.HorizontalAlignment = 1
    19. cell1.Border = 0
    20. table1.AddCell(image)
    21. table1.AddCell(cell1)
    22. pdfdoc.Add(table1)
    23. pdfdoc.Add(New Paragraph(" "))
    24. pdfdoc.Close()
    Hi.

    Kann es sein, das die Zelle mit dem Logo zu klein ist?

    Kann die Zelle in der größe verändert werden?

    Wie ist es wenn nur das Logo eingefügt wird? Wird das denn angezeigt?

    Ansonten einmal mit "pdfdoc.Add(image)" versuchen.

    c.u. Joshi
    Das Logo ist auf die Größe der zelle abgestimmt. wenn ich das Logo in einer picturebox lade, wird es auch angezeigt

    per pdfdoc.add habe ich es schon versucht. Das bild wird dann nicht angezeigt und der Debug bricht dann gnadenlos ab, bevor es überhaupt zum aufrufen der PDF erstellung geht.

    man kann das Logo auch weglassen, währe nur schön wenn es mit ausgegeben wird, da über das tool auch die Netzwerkdokumentationen ausgedruck werden können und da klappt es, das dass logo per vb.net / vba oben links gesetzt wird
    done allerdings:

    System.Reflection.AmbiguousMatchException: "Fehler beim Auflösen der Überladung. Kein Public GetInstance ist am spezifischsten für diese Argumente:
    'Public Shared Function GetInstance(image As iTextSharp.text.Image) As iTextSharp.text.Image':
    Nicht am spezifischsten.
    'Public Shared Function GetInstance(template As iTextSharp.text.pdf.PdfTemplate) As iTextSharp.text.Image':
    Nicht am spezifischsten.
    'Public Shared Function GetInstance(iref As iTextSharp.text.pdf.PRIndirectReference) As iTextSharp.text.Image':
    Nicht am spezifischsten.
    'Public Shared Function GetInstance(filename As String) As iTextSharp.text.Image':
    Nicht am spezifischsten.
    'Public Shared Function GetInstance(imgb As Byte()) As iTextSharp.text.Image':
    Nicht am spezifischsten.
    'Public Shared Function GetInstance(s As System.IO.Stream) As iTextSharp.text.Image':
    Nicht am spezifischsten.
    'Public Shared Function GetInstance(url As System.Uri) As iTextSharp.text.Image':
    Nicht am spezifischsten.." usw...

    nachtrag: habe das Problem mittlerweile andersweitig gelöst vors erste. Mittelt Wasserzeichenfunktion aus itextsharp

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Drachie“ ()