How do I write a program that generates custom pdfs?

This page summarizes the projects mentioned and recommended in the original post on /r/learnprogramming

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • jsPDF

    Client-side JavaScript PDF generation for everyone.

  • Did a quick look at shiny. You can use JavaScript so jsPDF would be a great choice.

  • apps-script-samples

    Apps Script samples for Google Workspace products.

  • If we're talking about making something really easily for a small data set with minimal programming knowledge and time required, Google Apps Script would probably be a good bet. Similarly, if your organization has Microsoft Office 365 instead of Google Workspace, you might try out their Office Scripts and Power Automate.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • pdf-combine

    combines pdf files into a single file, extracts pages from a pdf

  • lantern

  • pandoc

    Universal markup converter

  • I'd go with this way as well. HTML or LaTex is a lot easier to work with than trying to create a PDF file directly. And there are existing tools around that can convert these formats into PDF, for example in Python: https://pypi.org/project/pdfkit/ or https://pandoc.org/

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts