B4J Question PDFJet - Problem

Discussion in 'B4J Questions' started by BeneBarros, Feb 25, 2015.

  1. BeneBarros

    BeneBarros Active Member Licensed User

    I have a problem with PDFJet.
    put an image in the Column (0) and a text in the Column (2)
    Column (2) has fixed width.
    When I run "PDFTable.WrapAroundCellText" it generates images in Column (0) in the amount of lines created in column (2).

    Annex example.

    I have to fix this ???
     

    Attached Files:

  2. Phayao

    Phayao Member Licensed User

    Same problem here - but no answer from the forum about this.
    My workaround is to put each picture in a separate row under the text. Not perfect but better than nothing.
    If anyone has a better idea, I will appreciate also.
    Thank you,

    Chris
     
  3. Daestrum

    Daestrum Well-Known Member Licensed User

    It seems when you have long text it splits the text and creates extra rows in the table.
    I have it adding just one tick box per row, but it depends on knowing that (in your example) it creates 4 lines for the text.
    I couldn't find a routine to tell how many lines it creates.
    This was the relevant code I changed ( I added the image directly to the PDFTable)
    Code:
    txt = "A alface é uma das hortaliças mais comercializadas no Brasil. Produzida durante todo o ano, no campo ou em estufas, " & _
            
    "seu cultivo é prejudicado quando não é plantada a temperaturas apropriadas, com excesso de radiação solar, com chuvas prolongadas, " & _
            
    "que podem inibir seu crescimento e danificá-la. Para verificar o ambiente mais adequado de cultivo e As variedades mais indicadas"
          
        
    For R = 0 To 4
            Row.Initialize
            
    Dim PDFImage As PDFjetImage
            
    Dim Columns(3As String
            Columns(
    0) = ""
            Columns(
    1) = Chr(R+65) & ")"
            Columns(
    2) = txt
            
    For c=0 To 2
                Column = Columns(c).Trim
                PDFCell.Initialize2(PDFFont1, Column)
                PDFCell.SetFgColor(PDFjetConstants1.Color.navy)
                Row.Add(PDFCell)
            
    Next
            TableData1.AddRow(Row)
    '        Dim PDFImage As PDFjetImage
    '        If R=1 Then
    '            PDFImage.Initialize(PDFjetPDF1, File.OpenInput(File.DirTemp, "CkTrue.png"), PDFjetConstants1.ImageType.PNG)
    '        Else
    '            PDFImage.Initialize(PDFjetPDF1, File.OpenInput(File.DirTemp, "CkFalse.png"), PDFjetConstants1.ImageType.PNG)
    '        End If
    '        PDFImage.ScaleBy(0.25)
    '        TableData1.GetRow(r).Get(0).SetImage(PDFImage)
        Next
        PDFTable.SetData(TableData1)
        PDFTable.SetCellBordersWidth(
    0.1)
        PDFTable.SetPosition(
    30100)
        PDFTable.AutoAdjustColumnWidths

        
    Dim wdt As Float = PDFTable.GetColumnWidth(0)
        wdt= wdt + PDFTable.GetColumnWidth(
    1)
        wdt = 
    260 - wdt
        PDFTable.SetColumnWidth(
    2,wdt)
        PDFTable.WrapAroundCellText
        
    For R = 0 To 4
            
    Dim PDFImage As PDFjetImage
            
    If R=1 Then
                PDFImage.Initialize(PDFjetPDF1, 
    File.OpenInput(File.DirTemp, "CkTrue.png"), PDFjetConstants1.ImageType.PNG)
            
    Else
                PDFImage.Initialize(PDFjetPDF1, 
    File.OpenInput(File.DirTemp, "CkFalse.png"), PDFjetConstants1.ImageType.PNG)
            
    End If
            PDFImage.ScaleBy(
    0.25)
            PDFTable.SetColumnWidth(
    0,PDFImage.GetWidth *1.5)
            PDFTable.GetRow(R*
    4).Get(0).SetImage(PDFImage)    ''' it's the * 4 part that gets it in right row
        Next
        PDFTable.DrawOn(PDFPage)
        DeleteTempFiles(ImageFiles)

        PDFjetPDF1.Close  
    End Sub
    Hope this gives you some help (not used PDFjet until this problem, so definitely not an expert on it)
     

    Attached Files:

    Last edited: Jan 20, 2016
    DonManfred likes this.
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice