PDF Gallery Viewer

plugin banner

A simple plugin that creates a responsive PDF gallery with thumbnail previews of PDF documents.

Author:Sergio Comella (profile at wordpress.org)
WordPress version required:6.0
WordPress version tested:6.7.4
Plugin version:1.6.3
Added to WordPress repository:22-04-2025
Last updated:01-01-2026
Rating, %:100
Rated by:1
Plugin URI:
Total downloads:1 301
Active installs:100+
plugin download
Click to start download

PDF Gallery Viewer allows you to easily embed PDF galleries with live previews. It uses PDF.js to render the first page of each PDF directly in the browser, without relying on server-side libraries like Imagick. Each item includes a customizable title and a “View” button that opens the PDF in a modal viewer.

The layout is responsive and adapts from a multi-column grid to a single-column stack on smaller screens.

Key Features:

  • Live thumbnail of first PDF page (via PDF.js)
  • Responsive layouts (Grid, List, or Slider)
  • Modal viewer with zoom, navigation, and download
  • Gutenberg block with layout selector and drag-and-drop file integration
  • Tooltip + truncation for long titles
  • Dynamic shortcode generation by category, tag, or post
  • Sorting UI (Title / Filename / Manual drag & drop)
  • Manual ordering with FIFO/LIFO behavior for newly added items

Usage

Basic usage:

[pdf_gallery url=”https://example.com/doc.pdf” title=”Document Title”]

Multiple items in a container:

[pdf_gallery_container layout=”grid”]
[pdf_gallery url=”…” title=”…”]
[pdf_gallery url=”…” title=”…”]
[/pdf_gallery_container]

Sorting / ordering:

[pdf_gallery_container layout=”grid” order_by=”title” order=”asc” ui=”1″]

[/pdf_gallery_container]

Manual ordering (UI drag & drop) with FIFO/LIFO for newly added items:

[pdf_gallery_container id=”my-gallery” layout=”grid” order_by=”manual” manual_mode=”fifo” ui=”1″]

[/pdf_gallery_container]

IMPORTANT: Manual ordering is managed by admins and saved server-side (post meta) so the order is the same for all visitors.
For reliable persistence, always set a stable id=”…” on each container (the Gutenberg block does this automatically).

Dynamic by category:

[pdf_gallery_container category=”brochures” layout=”slider”]


Screenshots
FAQ
ChangeLog