/WP-vanilla-pdf-embed

Embeds PDFs in your pages and posts, without using JS.

Primary LanguagePHPOtherNOASSERTION

=== vanilla-pdf-embed ===
Contributors: _doherty
Tags: pdf, embed
Donate link: https://flattr.com/profile/doherty
Requires at least: 3.0.1
Tested up to: 4.3.1
Stable tag: trunk
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Embeds PDFs in your pages and posts, without using JS.

== Description ==

### Basic 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:

    http://localhost/?p=9

    Attachment default URL:

    http://localhost/?attachment_id=9

    Attachment pretty URL:

    http://localhost/test/report1/

    Media direct URL:

    http://localhost/wp-content/uploads/2013/11/report1.pdf

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.

#### 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]

### 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

There is currently no way to customize the [PDF open parameters](http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf).

#### 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](https://code.google.com/p/chromium/issues/detail?id=64309) 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
<http://pdfobject.com/> or [PDF.js](https://mozillalabs.com/en-US/pdfjs/).

== Installation ==
1. Upload `vanilla-pdf-embed.php` to the `/wp-content/plugins/` directory
2. Activate the plugin through the "Plugins" menu in the WordPress admin panel

== Changelog ==

= 0.0.7 =
  - Fix a couple corner cases - thanks AngelinaBelle!

= 0.0.6 =
  - Set a default height of 500em

= 0.0.5 =
  - Fix a simple programming error; thanks to firedog341 for the report

= 0.0.4 =
  - By default, use a 100% width embed frame
  - Expanded readme

= 0.0.3 =
  - Embed PDFs on attachment pages
  - Fix a spacing issue for PDFs with no title
  - Don't use PDF open parameters for the fallback link

= 0.0.2 =
  - Don't embed non-PDFs from the media library

= 0.0.1 =
  - Initial release