diegomura / react-pdf

📄 Create PDF files using React
https://react-pdf.org
MIT License
14.94k stars 1.18k forks source link

Create table layout #2343

Open mocanew opened 1 year ago

mocanew commented 1 year ago

Is your feature request related to a problem? Please describe. I'm the author of @ag-media/react-pdf-table, and after much time wrestling with the layout system, I've concluded that there's no way to implement a proper table layout with the current primitives.

Describe the solution you'd like The solution is not fully thought through, but I think the most essential parts are:

One alternative might be to add table primitives and have them be special cases in the layout package.

Describe alternatives you've considered As of now, @ag-media/react-pdf-table is usable for a table that is contained to one page (we use it in production already), but if you want to wrap a table to multiple pages, it gets weird with no way of fixing it.

Betree commented 8 months ago

Since react-pdf is based on PDFKit, could @ag-media/react-pdf-table somehow access the PDFKit instance directly and create the shapes using the primitive functions it's exposing? https://github.com/natancabral/pdfkit-table could then provide some inspiration.

We (@opencollective) would love to migrate to react-pdf, but we need good support for multi-page tables. We would happily use https://github.com/ag-media/react-pdf-table for that, but I agree that native support for tables in this library would be fantastic.

mocanew commented 8 months ago

@Betree, thanks for the linked repo; it might be the solution we're searching for if we can somehow reconcile react-pdf's layout with the table implementation. I'll take a more in-depth look in a couple of days.