PDF viewer

From Wiki
Jump to navigation Jump to search

At the 2021 meeting we were discussing what we as TeX users can do about the unfortunate state of open source PDF viewers, esp. on Linux, and that context group could sponsor development. Unfortunately this discussion had no productive results. So let’s try this again and compile some important points as a basis:

Wishlist

Since PDF files and viewers can have a wide spectrum of features, let’s define what we’re after, grouped by purpose:

  • in general:
    • PDF 2.0 compatible
    • proper color and transparency display (respect color profiles)
    • limited JavaScript support (no modification, no file operations)
    • search
    • update on file change (configurable)
    • keyboard control for as much as possible (but also menus/menubars)
    • sidebar for bookmarks/ToC
    • SyncTeX support
    • accessibility (e.g. alternative text must work)
    • access to file attachments (lower priority)
  • for presentations:
    • presentation mode (full screen, no visible controls, on one monitor/beamer of choice)
    • JS for controlling optional content groups (OCGs, Viewer Layers)
    • inner- and inter-document links must work
    • multimedia support at least via links (suggestion: use “plain Rich Media” approach with OS’ default player)
    • transition effects not necessary (but if the developer has fun including them, go on)
  • for forms:
    • fill in
    • print documents with/without form contents
    • same-ID fields on different pages must be synchronized
    • custom checkmarks/radiobuttons should work & display correctly
    • JS for calculations and validation
  • for annotations (correction workflow; generally just nice to have):
    • similar to Adobe/Foxit Reader
  • for development/debugging:
    • show metadata (incl. XMP), e.g. in a sidebar or dialog
    • show fonts metadata (inclusion etc.)
    • show PDF Boxes (MediaBox, CropBox, TrimBox, BleedBox, ArtBox) as colored frames, switchable via preferences and menu (bar) item
    • check for PDF/A and PDF/X compliance would be nice (integrate VeraPDF?)

no priority:

  • view other file formats like XPS etc.
  • any changes to the document (but would be nice):
    • extract/replace/add pages
    • downsampling of images
    • change metadata
  • export to other formats

more ideas:

  • support Lua as a scripting language in PDF, like JavaScript
  • rulers / auxiliary lines to check geometry

Software

  • FOSS license
  • suggestion by Hans: based on MuPDF, even if it’s controlled by the Artifex company, since it’s good code and there’s also MuJS.
  • another candidate would be Okular, since that’s the open source viewer that supports most of the wanted features.
  • pdf.js, included in Firefox (as well as other browsers, editor plugins etc.) already meets most criteria.
  • should at least work on Windows, MacOS (preferably 10.14+), Linux and *BSD; iOS & Android versions would be nice
  • could use our build farm
  • how about (long term) support?

Funding

  • Context group will provide some funds.
  • There was a discussion about fundraising at the 2022 meeting. (Will check back.)
  • DANTE only funds nonpersonnel costs and won’t support projects that are not directly TeX-related.
  • Ask Overleaf WRT extensions for pdf.js

Sources