djot VS PDF.js

Compare djot vs PDF.js and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
djot PDF.js
43 84
1,580 46,332
- 1.1%
5.8 9.9
2 months ago 4 days ago
HTML JavaScript
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

djot

Posts with mentions or reviews of djot. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-21.
  • LaTeX and Neovim for technical note-taking
    10 projects | news.ycombinator.com | 21 Feb 2024
    I know this doesn't solve your problem directly, but I recommend people to try out Djot[0], a markup language from the author of CommonMark.

    Djot has a single well-defined spec, and most of the basic formatting has the same syntax as (a) Markdown, so switching is pretty painless. It has as a main goal to be legible and visually aesthetic as-is, just like Markdown.

    What Djot adds is its _predictability_. Nested formatting, precedence order, line breaks behavior, nested blocks, mixed inline and block formatting, custom attributes are all laid out precisely in the spec in a thought-out manner. Till this day I still can't remember how to put line break within a list item in Markdown (and I'm sure there're more than one way).

    [0]: https://djot.net/

  • Pandoc 3.1.12 Released
    1 project | news.ycombinator.com | 16 Feb 2024
  • Pandoc
    17 projects | news.ycombinator.com | 28 Jan 2024
    Worth noting that the author has also created a markup language, djot.

    https://github.com/jgm/djot

  • Augmenting the Markdown Language for Great Python Graphical Interfaces
    2 projects | news.ycombinator.com | 21 Jan 2024
    Every time I see people doing something with Markdown, I wish they just replace it with support for Djot[0] instead. It is a Markdown alternative by the creator of Pandoc and CommonMark that fixes all of the most egregious mistakes, while being legible and visually pleasant as-is. It is also syntactically similar to Markdown, which should ease adoption.

    [0] https://github.com/jgm/djot

  • Djot is a light markup syntax
    3 projects | news.ycombinator.com | 1 Jul 2023
  • Beyond Markdown
    2 projects | news.ycombinator.com | 1 Jul 2023
  • HELP!!! Stuck forever
    1 project | /r/neovim | 21 May 2023
    Are you using markdown? It might make sense to look at 'djot' as well: https://djot.net/; it's a new 'light' markup language conceived as a successor to commonmark; development is led by none other than John McFarlane (author of pandoc, & also led commonmark standardization) Djot makes it really easy to attach arbitrary attributes to block elements as well as inline elements; and the parser records source positions in the output -- all of which makes it really convenient keeping track of elements changing position or value.
  • Is there a way to send data from neovim in real-time to other applications? Want to create a neovim qmk bridge.
    1 project | /r/neovim | 20 May 2023
    I have a simple script that sends a djot buffer (https://github.com/jgm/djot) to the parser, if there's a change, on the CursorHold event.
  • wiki.vim v0.6 is released
    3 projects | /r/neovim | 6 Apr 2023
    Since you mentioned you were considering moving to CommonMark, have you had time to look into Djot (also by jpm)? Djot is meant to be easier to parse, and I'm planning to write a tree-sitter grammar for it.
  • Typst, a modern LaTeX alternative written in Rust, is now open source
    12 projects | /r/rust | 21 Mar 2023
    Another recent development here is https://djot.net/ (by the pandoc author). It indeed thoroughly solves both:

PDF.js

Posts with mentions or reviews of PDF.js. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-27.
  • DEMO - Voice to PDF - Complete PDF documents with voice commands using the Claude 3 Opus API
    4 projects | dev.to | 27 Apr 2024
    readPdf: used for reading the dropped file and displaying it on the screen, it uses PDF.js to load the file, get all fields and display it on the browser.
  • Building W-9 Crafter
    4 projects | dev.to | 28 Mar 2024
    I first started building the app in the browser, using PDF.js and Download.js to take a PDF and edit it, and then download it to your computer.
  • Parsing PDFs in Node.js
    5 projects | dev.to | 12 Mar 2024
    pdf2json is a module that transforms PDF files from binary to JSON format, using pdf.js for its core functionality. It also incorporates support for interactive form elements, enhancing its utility in processing and interpreting PDF content.
  • Is it possible to port Edge's PDF Editor to other browsers or make your own custom one?
    1 project | /r/learnprogramming | 4 Dec 2023
    Why not PDF.js?
  • How to Write a Cold Email
    1 project | news.ycombinator.com | 17 Nov 2023
    I'd think opening a PDF in your browser would be at the same risk-level you associate with going to any random URL. On Firefox at least, I'm pretty sure the built-in PDF viewer is simply JS parsing and rendering the PDF anyway -- nothing with elevated permissions:

    https://mozilla.github.io/pdf.js/

  • Firefox 119 unleashes PDF prowess and Sync sorcery
    1 project | news.ycombinator.com | 28 Oct 2023
    The PDF features are actually an extension, just one built in as Firefox's default pdf viewer.

    It's called pdf.js https://github.com/mozilla/pdf.js/

    You can actually use this pdf viewer in another browser like Chrome if you'd like, there's a demo URL on there.

  • PDF Chat with Node.js, OpenAI and ModelFusion
    2 projects | dev.to | 3 Sep 2023
    We use Mozilla's PDF.js via the pdfjs-dist NPM module to load pages from a PDF file. The loadPdfPages function reads the PDF file and extracts its content. It returns an array where each object contains the page number and the text of that page.
  • Ask HN: Best toolkit to build custom pdf viewer?
    1 project | news.ycombinator.com | 16 Aug 2023
  • Microsoft faces antitrust scrutiny from the EU over Teams, Office 365
    5 projects | news.ycombinator.com | 19 Jul 2023
    The problem is that there simply wasn't a better option at the time.

    Ogg Vorbis was a novelty at best, and it was the only decently widely adopted open source competitor for any of the items listed that was available at the time.

    HTML5 was only just published when Chrome launched. So Flash was at that point the only option available to show a video in the browser (sure, downloading a RealPlayer file was always an option, but it was clunky, creators didn't like people being able to save stuff locally, and was also not open source). Chrome in fact arguably accelerated the process of getting web video open sourced: Google bought On2 in 2010 to get the rights to VP8 (the only decent H.264 competitor available at that point) so they could immediately open source it. The plan was in fact to remove H.264 from Chrome entirely once VP8/VP9 adoption ramped up[1], but that didn’t end up happening.

    Flash was integrated into Chrome because people were going to use it anyway, and having Google distribute it at least let them both sandbox it and roll out automatic updates (a massive vector for malware at the time was ads pretending to be Flash updates, which worked because people were just that used to constant Flash security patches, most of which required a full reboot to apply; Chrome fixed both of those issues). Apple are the ones who ultimately dealt the death blow to Flash, and it was really just because Adobe could not optimize it for phone CPUs no matter what they tried (even the few Android releases of Flash that we got were practically unusable). That also further accelerated the adoption of open source HTML5 technologies.

    PDF is an open source format, and has been since 2008. While I don't know if pressure from Google is what did it, that wouldn’t surprise me. Regardless, the Chrome PDF reader, PDFium, is open source[2] and Mozilla's equivalent project from 2011, PDF.js, is also open source.[3] Both of these projects replaced the distinctly closed source Adobe Reader plugin that was formerly mandatory for viewing PDFs in the browser.

    Chrome is directly responsible for eliminating a lot of proprietary software from mainstream use and replacing it with high-quality open source tools. While they've caused problems in other areas of browser development that are worthy of criticism, Chrome's track record when it comes to open sourcing their tech has been very good.

    [1]: https://blog.chromium.org/2011/01/html-video-codec-support-i...

    [2]: https://github.com/chromium/pdfium

    [3]: https://github.com/mozilla/pdf.js

  • How do Fix this issue while trying to save an edited PDF? (text gets really small and is rotated)(i'm using nightly)
    1 project | /r/firefox | 1 Jun 2023
    Firefox Nightly is an unstable test version. You should report PDF issues to this GitHub repository.

What are some alternatives?

When comparing djot and PDF.js you can also consider the following projects:

typst - A new markup-based typesetting system that is powerful and easy to learn.

jsPDF - Client-side JavaScript PDF generation for everyone.

mdBook - Create book from markdown files. Like Gitbook but implemented in Rust

pdfmake - Client/server side PDF printing in pure JavaScript

Zato - ESB, SOA, REST, APIs and Cloud Integrations in Python

PDFKit - A JavaScript PDF generation library for Node and the browser

scroll - Tools for thought. An extensible alternative to Markdown.

Papa Parse - Fast and powerful CSV (delimited text) parser that gracefully handles large files and malformed input

pdfsyntax - A Python library to inspect and modify the internal structure of a PDF file

diff2html - Pretty diff to html javascript library (diff2html)

pdfquery - A fast and friendly PDF scraping library.

pdf-lib - Create and modify PDF documents in any JavaScript environment