Embed PDF Viewer

Description

Embed a PDF from the Media Library or elsewhere via oEmbed or as a block into an object tag or Google Doc Viewer as fallback. The URL only has to be world reachable link.

Inspired by Embed PDF and RV Embed PDF.

Many thanks to Alex Kirk for making Embed PDF Viewer compatible with the new block editor.

Development on GitHub. Pull requests are welcome against the develop branch.

Screenshots

  • Embed PDF Viewer block
  • Select PDF
  • PDF block and attributes

Blocks

This plugin provides 1 block.

  • PDF

Reviews

12 March 2024 1 reply
Works great on web but when I try to access the website via mobile browser, the pdf has no preview available. BTW, I'm using Wordpress 6.4.3. Thank you for your effort with this PDF plugin it is a big help and easy to use.
20 November 2023
Love how easy it is to embed a PDF using the Block Editor and this plugin. It's perfect.
6 May 2023
Having tried with a few other PDF embed viewers, this was the one that didn't add a watermark (EmbedPress), require some sort of paid upgrade (3d flipbook), add an unnecessary 'Download'' button (wordpress inbuilt viewer), or involve technical skills using the shortcode feature (PDF Viewer and PDF.js Viewer). Really glad to have found it, and thanks to those who developed it!
14 January 2023
Simple is what we were looking for. Simple is what we got. Works great. Tku
Read all 17 reviews

Contributors and Developers

“Embed PDF Viewer” is open source software. The following people have contributed to this plugin.

Contributors

“Embed PDF Viewer” has been translated into 9 locales. Thank you to the translators for their contributions.

Translate “Embed PDF Viewer” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Change Log

2.3.1 / 2023-09-10

  • update GA
  • update tested to

2.3.0 / 2021-07-07

  • add @10up GitHub Actions integration for WordPress SVN

2.2.0 / 2021-03-05

  • update Toolbar to ToolbarGroup and ToolbarButton
  • add limited support for block alignment toolbar
  • fixes for i18n in block
  • exclude /build from make-pot in composer.json, doesn’t work with minimized JS

2.1.2 / 2020-09-15

  • use same block name for oembed
  • add additional dependencies to enqueue

2.1.1 / 2020-07-20

  • update block for deprecated items and minor errors
  • update media selector for only PDFs

2.1.0 / 2020-07-20

  • update block build process
  • add title and description attributes for a11y
  • add PDF svg for block

2.0.5 / 2020-03-09

  • minor updates to plugin structure on GitHub
  • update tested to

2.0.4 / 2019-10-05

2.0.3 / 2019-04-25

  • move block registration to it’s own function and hook
  • WPCS updates

2.0.2 / 2019-02-03

  • update WordPress requirements

2.0.1 / 2019-01-11

  • added composer.json and automatically create POT with composer update
  • added check for register_block_type() for WP 4.9.x and below

2.0.0 / 2018-12-20 🎂

  • a proper PDF block was added with much help from Alex Kirk, many thanks

1.6.1 / 2018-11-25

  • properly initialize load_plugin_textdomain()

1.6.0 / 2018-07-22

  • added filter embed_pdf_viewer_pdf_attributes
  • updated readme.txt to include Requires PHP header
  • added paragraph tag around link to PDF

1.5.0 / 2016-12-17

  • added CSS to fallback to iframe on iOS as object isn’t scrollable 😛

1.4.0

  • switch to using object tag, with iframe as fallback display method

1.3.0

  • inserting anything other than PDF from Media Library now works as expected.

1.2.1

  • fixed a couple of PHP warnings

1.2.0

  • inserting a PDF from the Media Library now simply inserts the URL for oEmbed
  • oEmbed a PDF from any source

1.1.2

  • simplify instance() just a little more

1.1.1

  • rename instance variable to $instance and make private
  • update DocBlocks
  • ensure $atts is an array

1.1

  • bugfix for not returning media item when not PDF, Bad Andy 🙁

1.0.1

  • add to DocBlocks

1.0

  • refactor to put embed code in one function
  • add assets

0.1

  • initial commit