MaxtDesign
PluginsPDF Viewer

PDF Viewer

Sub-200ms PDF display. Zero layout shift. Server-side previews.

The fastest PDF viewer for WordPress. Server-generated WebP previews display instantly while the full PDF.js viewer loads on demand. Zero CLS, keyboard accessible, mobile optimized.

10+ installs
WP 6.4+
PHP 8.1+
PDF Viewer — Sub-200ms PDF display. Zero layout shift. Server-side previews.
Open Source

Features

What PDF Viewer Does

Built for performance, designed for simplicity.

Server-generated WebP preview images display instantly on page load
Full PDF.js viewer loads on-demand — click, scroll, or immediate
Zero CLS — CSS aspect-ratio reserves exact space before content loads
Initial page load under 10KB JavaScript (loader only)
Native Gutenberg block with live preview in the editor
Shortcode [pdf_viewer id="123"] for classic editor and page builders
Configurable toolbar: download, print, fullscreen (per embed)
Three load behaviors: click, visible (IntersectionObserver), immediate
Keyboard navigation, ARIA labels, screen reader announcements
Mobile touch gestures for page navigation and zoom
Automatic preview generation on PDF upload (ImageMagick)
Bulk processing tool for existing media library PDFs
REST API endpoints for PDF info and preview processing
Preview quality presets: low (72dpi), medium (150dpi), high (300dpi)

Overview

Why PDF Viewer?

MaxtDesign PDF Viewer is a performance-focused PDF embedding solution for WordPress. Unlike other PDF plugins that load heavy JavaScript libraries upfront, this plugin uses a smart lazy-loading approach that keeps your pages fast.

When you upload a PDF, the plugin automatically extracts the first page as an optimized WebP preview image using ImageMagick. This preview displays instantly — under 10KB of JavaScript on initial page load. The full PDF.js interactive viewer loads only when the user clicks "View Document", scrolls to the embed, or immediately (your choice).

Zero layout shift is guaranteed. The viewer uses CSS aspect-ratio to reserve exact space before any content loads — no reflow, no jump, no CLS penalty in Lighthouse. The toolbar is fully configurable: toggle download, print, and fullscreen buttons per embed. Keyboard navigation and screen reader support meet WCAG accessibility standards.

Insert PDFs using the native Gutenberg block with live preview in the editor, or use the [pdf_viewer] shortcode for classic editor and page builder compatibility. Three load behaviors — click, visible (intersection observer), or immediate — give you full control over when the viewer initializes.

Requirements

  • WordPress 6.4 or higher
  • PHP 8.1 or higher

FAQ

Common Questions

Can't find what you're looking for? Check the documentation or ask on the support forum.

Changelog

What's New

v1.0.02025-04-01
  • Initial release
  • Gutenberg block with live preview in editor
  • Shortcode support [pdf_viewer] for classic editor
  • Automatic WebP preview generation via ImageMagick
  • PDF.js integration with on-demand loading
  • Three load behaviors: click, visible, immediate
  • Configurable toolbar (download, print, fullscreen)
  • Keyboard navigation and screen reader accessibility
  • REST API endpoints for PDF info and processing
  • Bulk processing tool for existing media library
  • Admin settings page with Server Info and Tools tabs

Documentation & Support

Step-by-step guides, configuration help, and community support through WordPress.org.

Open Source on GitHub

View the source, report bugs, or contribute. This plugin is free and open source under the GPL.

Need Something Custom?

We build custom WordPress plugins tailored to your exact requirements.