Skip to content

EQS-512: Spike - Alternatives to pdfkit performance investigation#196

Open
liamtoozer wants to merge 13 commits intomainfrom
EQS-512-alternatives-to-pdfkit-performance-investigation
Open

EQS-512: Spike - Alternatives to pdfkit performance investigation#196
liamtoozer wants to merge 13 commits intomainfrom
EQS-512-alternatives-to-pdfkit-performance-investigation

Conversation

@liamtoozer
Copy link
Contributor

What is the context of this PR?

The pdfkit package and wkhtmltopdf engine used in Runner to export HTML to PDF are now deprecated.

There was a Spike carried out about 3 years ago to look into moving to weasyprint. At the time, it was found that weasyprint was not as efficient as exporting to PDF as our current pdfkit. However, things have since moved on for weasyprint, and the deprecation for pdfkit was put in place just 2 years ago, so may be worth another look.

Part of this spike also looks at the xhtml2pdf package as well

How to review

  • Read through the doc/performance-investigations/0025-pdfkit-alternatives/summary.md. As mentioned in the previous Spike, think about the following:
    • Does the document accurately reflect the test?
    • Are the observations accurate?
    • Can any other observations be made?
    • Do you agree with the recommendations?
    • Should any other recommendations be made?

@liamtoozer liamtoozer requested a review from a team as a code owner February 5, 2026 15:25
@farres1
Copy link

farres1 commented Feb 13, 2026

The write-up looks good and summarises the information clearly. If we can dedicate time to researching Option 4, I agree with your conclusion of Options 2, 4 and 7. Otherwise, I think combining Options 2 and 7 would be the most beneficial approach.

@Yuyuutsu
Copy link
Contributor

Really nice investigation!
I think the next step we choose is really depends on the resources we have. I would like us to look into our own PDF generation but that is a monumental task. Even changing to weasyprint, which looks like our best option, is still a really big task. I do like the idea of incorporating a loop icon for better UX.

This is most likely something we may need to discuss as a whole team.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants