6 comments

  • RodgerTheGreat 1 hour ago
    It's definitely far easier to emit a controlled, useful subset of PDF than it is to parse PDF documents. I wrote a small PDF library for the Decker ecosystem that just focuses on bitmaps and page layout; roughly 4kb and 135 LoC.

    docs/demos: https://beyondloom.com/decker/pdf.html

    browsable source: https://github.com/JohnEarnest/Decker/blob/main/examples/dec...

  • andai 2 hours ago
    Back in the day I needed PDF export for some client thing. I can't remember if I was using pdfjs or jspdf. I do however remember that it was many thousands of lines of code, and yet, I had to lay out the lines of text on the page manually.

    My page layout code was like 50 lines of code. And I remember thinking... OK they already wrote 8,000 lines of code... They couldn't have added 50 more?!

    400 lines though. Respect. I will take a proper look at this when I recover from burnout :)

  • anilgulecha 11 hours ago
    Great exercize, but for most use cases - people will continue reaching for jsPDF.

    I think if you have a markdown->PDF function included, where I can send in markdown and get PDF, that would solve quite many needs, and would be useful.

  • wg0 1 hour ago
    So essentially - it only works with Latin script? Because without fonts, every other script is NOT going to render.
  • IntelliAvatar 1 day ago
    3KB is wild. What features did you intentionally leave out to get this small?
    • wonger_ 3 hours ago
      Not the author, but generating PDFs is much, much simpler than parsing PDFs
    • teaearlgraycold 1 hour ago
      It only supports Helvetica!
    • lysace 2 hours ago
      Support for more than 7-bit ASCII characters. :)
  • croisillon 2 hours ago
    is it related to one of the other 10 products called TinyPDF?
    • esafak 2 hours ago
      Yes, obviously: it's a tiny PDF library.