vanilla-pdf-embed
Add to ListBasic use
To embed a PDF you’ve uploaded to your WordPress site’s media
library, simply put the URL for the attachment page in your
post on its own line. The PDF will be embedded with the
default settings at that location, as if it were using oEmbed.
Examples:
Post short URL:
Page With Left Sidebar
Attachment default URL:
Page With Left Sidebar
Attachment pretty URL:
http://localhost/test/report1/
Media direct URL:
This doesn’t work for PDFs hosted on other websites, or if you
need to change the parameters.
Using the [pdf]
shorttag
If the PDF isn’t in your WordPress site’s media library, or if
you want to customize any parameters for the embed, then use
the [pdf]...[/pdf]
shorttag. Between the tags, you’ll provide
the URL for the PDF to embed. If the PDF is in your WordPress
site’s media library, you can either give the attachment page
URL, or the URL to the PDF file directly.
The [pdf]
shorttag accepts several optional parameters:
width
– sets the width of the frame the PDF is embedded in.
By default, this is set to 100%.height
– sets the height of the frame the PDF is embedded
in. By default, this is unset.title
– sets the title of the PDF, for use in the fallback
link text.open_params
– sets the PDF open params
which control how the PDF file is displayed in the embed frame.
These are poorly supported in browsers.
Examples:
Post short URL: [pdf width="200px"]http://localhost/?p=9[/pdf]
Attachment default URL: [pdf height="500em"]http://localhost/?attachment_id=9[/pdf]
Attachment pretty URL: [pdf title="Report 1"]http://localhost/test/report1/[/pdf]
Media direct URL: [pdf]http://localhost/wp-content/uploads/2013/11/report1.pdf[/pdf]
Change PDF open params: [pdf open_params="page=10&view=Fit"]http://localhost/?p=9[/pdf]
Compatibility
The PDF should be embedded in the page, with the document scaled so it fills the
embed frame horizontally. Unfortunately, embedding PDFs is not well-supported.
Auto-loading embedded PDFs
Unlike with images, web browsers may not automatically download and display
embedded PDFs when the page is loaded. For security reasons, some users prefer
not to allow the PDF plugin to run unless they trust the website the PDF comes
from. This generally leaves a grey rectangle that the user may click on to allow
the PDF to be downloaded and displayed.
PDF open parameters
As of v0.0.8, you can set the PDF open parameters
by setting open_params
in the shortcode, as shown above. This is unlikely to actually
anything, since PDF open parameters are poorly supported in browsers. But you can try!
Provide the parameters as a query string: page=1&view=Fit
. Refer to the Adobe
documentation on what parameters are available.
Chrome
The PDF should be scaled/zoomed within the embed frame so that the full
horizontal width of the paper fills the frame. This is not
supported in
Chrome’s default PDF viewer, so the document will probably be scaled to 100%,
which may either mean the document doesn’t fill the frame, or, more likely, the
document is too wide for the frame, and the right-hand side of the document is
hidden.
Internet Explorer
Internet Explorer requires a PDF plugin to render embedded PDFs. Generally,
that’s Adobe Reader. Without such a plugin, the fallback download link will be
used.
Mobile browsers
In particular, mobile browsers may show a grey box instead of the embedded PDF,
and will download the file when it is clicked. Other mobile browsers might embed
the PDF, but won’t allow it to scroll.
Alternatives
Your best alternative is to not embed PDFs. PDFs are bad for many reasons:
not easily indexed by search engines, not easily accessible by readers who use
assistive technologies, poorly supported by web browsers (as seen above) and so
on. They’re just bad and you should avoid embedding PDFs if you can.
If you really can’t, then you might consider using another solution like
https://pdfobject.com/ or PDF.js.