Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
yamapuvar opened this issue Nov 22, 2019 · 6 comments

Comments

@yamapuvar
Copy link

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.

@philprime
Copy link
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

@yamapuvar
Copy link
Author

yamapuvar commented Jan 8, 2020 via email

@philprime
Copy link
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

@yamapuvar
Copy link
Author

yamapuvar commented Jan 9, 2020

Hello Philip,

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

Sample PDF

@philprime
Copy link
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

@Gizmeondevwip
Copy link

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
Projects
None yet
Development

No branches or pull requests

3 participants