Partage
  • Partager sur Facebook
  • Partager sur Twitter

Librairie iTextPDF - Création de tableau

VB.NET

Sujet résolu
    10 novembre 2017 à 10:24:00

    Bonjour,

    je suis actuellement en train de m'essayer à la création de PDF aec iText en VB.Net mais voilà je souhaite créer un tableau à deux colonnes ou des fois il n'y a qu'une seul cellule et des fois deux cellules.

    j'essai donc d'utiliser "setColspan(int i)" qui est sensé être accessible depuis un objet "PdfPCell" hors pas je ne l'ai pas. (Code ci desous)

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim pdfDoc As New Document
        Dim pdfWrite As PdfWriter = PdfWriter.GetInstance(pdfDoc, New FileStream("C:\Users\stempi\Desktop\Test.pdf", FileMode.Create))
     
        pdfDoc.Open()
     
        Dim EAN128 As New Barcode128
     
        EAN128.CodeType = Barcode128.CODE128
        EAN128.Code = "(00)030328417153500179"
        EAN128.GenerateChecksum = True
     
        'pdfDoc.Add(EAN128.CreateImageWithBarcode(pdfWrite.DirectContent, Nothing, Nothing))
     
        Dim img As Image = EAN128.CreateImageWithBarcode(pdfWrite.DirectContent, Nothing, Nothing)
     
        Dim myTable As New PdfPTable(2)
     
        Dim Cell As PdfPCell
     
        Cell = New PdfPCell(New Phrase("Celule colspan"))
     
        myTable.AddCell("0.1")
        myTable.AddCell("1.0")
        myTable.AddCell(img)
        myTable.AddCell("1.1")
     
        pdfDoc.Add(myTable)
     
        'pdfDoc.Add(Barcode.CreateImageWithBarcode(pdfWrite.DirectContent, Nothing, Nothing))
     
        'pdfDoc.Add(New Paragraph("Test Page 1"))
        'pdfDoc.NewPage()
        'pdfDoc.Add(New Paragraph("Test Page 2"))
        pdfDoc.Close()
     
    End Sub

    De plus voici mes imports au cas ou :

    Imports iTextSharp.text
    Imports iTextSharp.text.pdf
    Imports System.IO

    Si quelqu'un sait pourquoi, merci ! :)

    Ps : Le même message à été mis dans la section "Autre langages", j'ai mis ce même sujet en résolu pour le reposter ici qui est plus adéquate 

    -
    Edité par Drolz 10 novembre 2017 à 10:25:23

    • Partager sur Facebook
    • Partager sur Twitter
      13 novembre 2017 à 10:39:09

      Bonjour,

      tout d'abord merci pour ta réponse, je me suis donc renseigner sur get et set en VB.NET j'arrive donc a avoir le résultat souhaité merci ! :)

      je voulais juste savoir si du coup la méthode que j'ai utilisé était bonne ou je pourrai faire mieux (plus propre ?) :

      Dim Cell As PdfPCell
      
          Public Property SetColspan() As Integer
              Get
                  Return Cell.Colspan
              End Get
              Set(ByVal value As Integer)
                  Cell.Colspan = value
              End Set
          End Property
      
          Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
              Dim pdfDoc As New Document
              Dim pdfWrite As PdfWriter = PdfWriter.GetInstance(pdfDoc, New FileStream("C:\Users\stempi\Desktop\Test.pdf", FileMode.Create))
      
              pdfDoc.Open()
      
              Dim EAN128 As New Barcode128
      
              EAN128.CodeType = Barcode128.CODE128
              EAN128.Code = "(00)030328417153500179"
              EAN128.GenerateChecksum = True
      
              'pdfDoc.Add(EAN128.CreateImageWithBarcode(pdfWrite.DirectContent, Nothing, Nothing))
      
              Dim img As Image = EAN128.CreateImageWithBarcode(pdfWrite.DirectContent, Nothing, Nothing)
      
              Dim myTable As New PdfPTable(2)
      
              Cell = New PdfPCell(New Phrase("Celule colspan"))
              SetColspan = 2
              myTable.AddCell(Cell)
      
              myTable.AddCell("0.1")
              myTable.AddCell("1.0")
              myTable.AddCell(img)
              myTable.AddCell("1.1")
      
              pdfDoc.Add(myTable)
      
              'pdfDoc.Add(Barcode.CreateImageWithBarcode(pdfWrite.DirectContent, Nothing, Nothing))
      
              'pdfDoc.Add(New Paragraph("Test Page 1"))
              'pdfDoc.NewPage()
              'pdfDoc.Add(New Paragraph("Test Page 2"))
              pdfDoc.Close()
      
          End Sub



      • Partager sur Facebook
      • Partager sur Twitter
        13 novembre 2017 à 12:46:06

        Drolz a écrit:

        je voulais juste savoir si du coup la méthode que j'ai utilisé était bonne ou je pourrai faire mieux (plus propre ?) :



        Aucune idée, c'est une chose à demander sur un forum dédié à itextpdf...

        • Partager sur Facebook
        • Partager sur Twitter
        ** La doc, c'est comme le PQ: ça sert à se démerder tout seul **

        Librairie iTextPDF - Création de tableau

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown