Skip to content

TPPDF : Add Multiple images with text content in the same cell in the Table() #166

Open

Description

@yamapuvar

I am working on a PDF Builder app and came through this tutorial.

Is there any way around to add some text in a cell with multiple images. I tried different ways but it results into error in the PDF.

I have tried this :

let table = PDFTable()

            let str = String(format: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.")
            let str1 = String(format: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. \nLorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. \n\nIt has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. ")

            do {
                try table.generateCells(
                    data:[
                        ["Name", "Image", "Description"],
                        [project.name + "\n" +  project.address1, UIImage(named: "demo")!, str],
                        [project.name + "\n" +  project.address1, UIImage(named: "demo")!, str1]
                        ],
                    alignments: [
                    [.topLeft, .top, .top],
                    [.topLeft, .top, .top],
                    [.topLeft, .top, .top]
                        ])
                } catch PDFError.tableContentInvalid(let value) {
                    // In case invalid input is provided, this error will be thrown.

                    print("This type of object is not supported as table content: " + String(describing: (type(of: value))))
                } catch {
                    // General error handling in case something goes wrong.

                    print("Error while creating table: " + error.localizedDescription)
                }

    table.widths = [
               0.23, 0.30, 0.47
           ]

        let style = PDFTableStyleDefaults.simple
    table.style = style

    do {
        // Style each cell individually
        try table.setCellStyle(row: 1, column: 0, style: PDFTableCellStyle(colors: (fill: UIColor.lightGray, text: UIColor.black)))
        try table.setCellStyle(row: 1, column: 1, style: PDFTableCellStyle(colors: (fill: UIColor.lightGray, text: UIColor.black)))
        try table.setCellStyle(row: 1, column: 2, style: PDFTableCellStyle(colors: (fill: UIColor.lightGray, text: UIColor.black)))
        try table.setCellStyle(row: 2, column: 0, style: PDFTableCellStyle(colors: (fill: UIColor.lightGray, text: UIColor.black)))
        try table.setCellStyle(row: 2, column: 1, style: PDFTableCellStyle(colors: (fill: UIColor.lightGray, text: UIColor.black)))
        try table.setCellStyle(row: 2, column: 2, style: PDFTableCellStyle(colors: (fill: UIColor.lightGray, text: UIColor.black)))
    } catch PDFError.tableIndexOutOfBounds(let index, let length){
        // In case the index is out of bounds

        print("Requested cell is out of bounds! \(index) / \(length)")
    } catch {
        // General error handling in case something goes wrong.

        print("Error while setting cell style: " + error.localizedDescription)
    }
    table.padding = 1.0
    table.margin = 2.0

    table.showHeadersOnEveryPage = true

    document.add(table: table)

Please help me to find some way around. Thank you.

Activity

  1. philprime commented on Jan 7, 2020

    @philprime
    Member

    Hi there, I am not sure what exactly your issue is.
    Do you want multiple images and text in a single cell?

    Please clarify your issue, and post any errors you receive while creating it

  2. yamapuvar commented on Jan 8, 2020

    @yamapuvar
    Author
  3. philprime commented on Jan 8, 2020

    @philprime
    Member

    @yamapuvar if you want to post an image into the issue, you need to use the Website to do so, sending an email won't post the screenshot, therefore I do not see it right now

  4. yamapuvar commented on Jan 9, 2020

    @yamapuvar
    Author

    Hello Philip,

    Please find attached PDF. I need to create PDF in such format. Please help if possible.

    Sample PDF

  5. philprime commented on Jan 10, 2020

    @philprime
    Member

    As of now, this case is not supported by the framework.
    I think to offer this feature we would have to extend the table content possibilities.
    This will be a major feature update and therefore break the API.

    I will take a look and consider if it is viable in the next release.

    If you can offer a solution from yourself, please feel free to open a PR

  6. Gizmeondevwip commented on Sep 18, 2020

    @Gizmeondevwip

    how can i build a table of image and text

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions