Knowledgebase

Presales

Yes, the license allows you to use the product indefinitely on your WordPress site. The fee also entitles you to support and updates for 12 months from the date of purchase.

After 12 months, you are free to continue to use the software, but if you require support or updates you would need to buy a new license at that point.

As an incentive to renew annually, we will offer a 50% reduced renewal rate for customers who renew their license before their previous license expires.

When you install the premium product and enter your license key, it will tell you when your support/updates license expires, but of course you will still be welcome to use the product even with an expired support/updates license.

We believe this situation is better than a one-time purchase since you will receive updates beyond the purchase date – at least for a year – and it offers a sustainable position for support and continued product development in the future. A one-off purchase could easily leave you exposed and in need of a new solution a few months down the line.

If you can't find the answers to your questions on these pages, please get in touch with us by email: contact@wp-pdf.com.

It's always helpful if you can send us a link to a page on your site showing any problem you're having so we can see it for ourselves. Other screenshots and as much information as possible is always appreciated.

Also let us know which version of the plugin you are using.

After purchase you will receive an email containing a link to download a ZIP file containing the plugin, and you will also receive a license key.

However, the link will expire after a week or so. If you need a new download link in the future, you can obtain this from our website as follows.

You need to register on our site - just enter a username equal to your email address here:

https://wp-pdf.com/wp-login.php?action=register

Then you will be sent two emails - one to allow you to set your password and login, and a second to verify your email address so that we can show you your existing purchases made with the same email in the past.

Once you have completed the steps in both emails you should be able to see your purchase. Click the 'My Purchases' link towards the top of the screen if not.

You should be able to download the latest ZIP from there.

To view Upgrade options (e.g. to upgrade from 2-5 site license to an unlimited license) click 'View Licenses'.

Please get in touch with any problems at all.

No, the only way to move between pages in a PDF Embedder embed is using the next/prev arrows in the toolbar.

Some other PDF viewers allow you to scroll through the PDFs pages within a 'view port' in the page, but this is not something that PDF Embedder allows. This decision is largely because the plugin is designed to resize the current PDF page to fit naturally within the web page (i.e. width/height to match the document), and we don't think the 'scroll to change page' functionality suits this.

It is possible to enter form fields inside a PDF, for users to fill in. Such PDFs should display without problems using PDF Embedder, but there will be no way for the user to enter text into the boxes or therefore save their responses.

PDFs can be produced that are password-protected so need a password in order to be viewed. No version of the plugin supports this. The PDF Embedder Premium Secure version does allow you to embed a (non password protected) PDF in a WordPress page in such a way that it is difficult for the user to obtain the source PDF; it should also be possible to prevent access to that page without being logged in with an appropriate WordPress account, or to password-protect the whole page.

In the Premium (and Premium Secure) versions of the plugin, an optional Download button appears in the toolbar. Users can download the PDF to their computer, open it to browse using their default PDF viewer, and print from there.

However, no version of the plugin has a direct 'print' button in the embedded viewer's toolbar in your WordPress site.

Yes, if you purchase the PDF Embedder Premium Secure version then you can switch between 'secure' and normal modes. You should not also purchase the regular PDF Embedder Premium version.

In Settings -> PDF Embedder / Secure tab, there is an option "Send PDF media uploads to 'securepdfs' folder". If this is checked, subsequent PDF uploads will be uploaded as 'secure', and embedded as such when selected for inclusion in a page. If unchecked, uploads will go to the normal media uploads area (outside the special 'securepdfs' folder), and will be embedded as normal without 'secure' protection.

You can find out more by reading the Secure Instructions.

Troubleshooting

You will usually see this error in your browser because your PDF does not sit on the same domain as the current page on your site.

For example, if you access the page http://www.mycompany.com/ and see the error message:
Error: URL to the PDF file must be on exactly the same domain as the current web page while retrieving PDF "http://mycompany.com/wp-content/uploads/mydoc.pdf"
this is because the shortcode for the embedded document references the URL on mycompany.com whereas the page is sitting on www.mycompany.com.

The "www" is important - it references a different domain to the PDF's URL that does not contain "www".

For security reasons, browsers are not allowed to load the PDF from a different domain.

Let's say your site is available via both www.mycompany.com and mycompany.com. Then that's an inconsistency that is also confusing to search engines and users.

To fix this, ask your web hosting company to make it consistent - for example, to redirect users direct from www.mycompany.com to mycompany.com, so everyone is using the same domain.

Then, you will need to ensure all your [pdf-embedder] shortcodes refer to the PDF's URL in the new preferred manner.

Sometimes, the problem might be that WordPress is configured to upload PDFs to media.mycompany.com, or something similar, perhaps due to a content-delivery plugin that is attempting to speed up your site. It may still be possible to load PDFs hosted on a different domain, at least if you have the ability to set up the configuration of that domain - see Hosting PDFs on other services such as Amazon S3.

When you click the link to download the ZIP file for a plugin you've purchased, you may find that it appears to be a folder of files instead of one ZIP file.

This is usually because Safari tries to be 'helpful' and unzips the ZIP immediately upon downloading. This isn't what you wanted - you need the ZIP intact.

You should normally still be able to find the original ZIP if you go to your Downloads folder, or you could try 'Compressing' the folder to recreate the ZIP for yourself.

Alternatively, you can change this behavior in Safari. Go to Preferences > General, and then uncheck the option "Open 'safe' files after downloading".

Go back to the original link and try to download the ZIP file again.

If the PDF doesn't display at all then please get in touch with our support team via email: contact@wp-pdf.com. Send a link to the page containing the 'broken' embedded PDF.

First, you may be able to diagnose the problem yourself - or at least find out some more information that could help the support team.

Most often, there is something else on your site (such as a plugin or theme) that is causing a conflict with PDF Embedder's Javascript code.

There are three possible approaches to diagnosing the problem.

1. Trial-and-error to find conflicting plugin/theme

In the WordPress Plugins page, try temporarily deactivating all plugins other than PDF Embedder, and switch to a simple Theme such as Twenty Fifteen.

Reload the problem page to see if the PDF now displays. If so, there must be a conflict with a Theme/Plugin. To find out which one, reactivate each one at a time and reload the page containing the PDF after each reactivation. When the PDF breaks again, you know which plugin/theme is at fault. Your next course of action may be to get in touch with us to explain your findings, or just switch plugins/themes if you are happy to do so.

2. Javascript Console error messages

Sometimes the conflict causes an error message to be displayed. To look, open up the Javascript Console in your web browser's developer tools section. For example, in Chrome, go to View -> Developer -> Javascript Console.

You may need to reload the web page.

If there are any messages in red, what do they say, and do they point to a particular plugin? It may not be obvious why the error has occurred, but in any case you can send a screenshot to our support address to help our investigation.

3. Check the Javascript files are loading correctly

Also in Developer Tools (as above in 2), there is a Network tab that can show you which files are loaded into the page, and we need to make sure all the plugin's files are loading.

Once the Network tab is open, reload the page, then you can enter the text 'pdfemb' to filter the list of loaded files to those that might be relevant.

You should see at least:

all-pdfemb-premium.min.js (or -basic.min.js)
compatibility.min.js
pdf.min.js
pdf.worker.min.js

If some or all of these aren't listed - particularly the first one - then somehow your site is failing to respect the PDF Embedder plugin's request to include those files. Sometimes this happens if your Theme does not contain a wp_head or wp_footer section - which should mean something to your theme developer... As in 1 above, try switching to a simpler theme to see if that at least shows us that the theme was at fault.

Another possibility is that a caching plugin or 'Javascript optimizer/minifier' is behaving incorrectly, so you could try turning it off. Some themes offer such facilities built in.

Seek Support

In all cases, please just get in touch if you have a problem with the plugin. Send a link to the page containing the broken PDF embed, and any information gleaned from the steps above. Just ignore the steps if they are outside your comfort zone. We have listed them so some more technically-minded users can potentially diagnose problems without assistance.

Email: contact@wp-pdf.com

If you attempt to embed the PDF viewer within a tab that is controlled by Javascript, you may find that it does not display at the correct size when the tab is opened. If you resize the browser window slightly, it should jump to the correct size. This is because the size was calculated when the tab was closed, and wasn't updated for the size of the opened tab.

You could modify the tab opening code to force a window resize event after the tab is open:

window.dispatchEvent(new Event('resize'));

If you have AJAX-style 'smooth' page transitions, perhaps provided by your theme, then you may find that the PDF viewer only displays at all when you load the page directly. Clicking on to the PDF's page from a different page may miss out on the initialization code of the plugin.

You might need to ensure that all relevant plugin Javascript files are loaded, and then fire this event to initialize the plugin after the new page content has been loaded:

jQuery('.pdfemb-viewer').pdfEmbedder();

To be honest, we don't really feel that 'smooth page transitions' make sense in a WordPress environment where different plugins will assume a particular initialization order, so our preference would be to disable these transitions.

Please understand that we can't necessarily support custom coding solutions like these, but hopefully these notes will help developers.

If you see this error message, do you have a download manager installed on your browser? This sometimes causes problems - maybe take a look at your extensions, and also try on a different browser to see if that works. If it does, it seems likely to be limited to your original browser.

Disabling the download manager should help, but if not please send us a link to the page containing the PDF: contact@wp-pdf.com.

To ensure the menu is behind the viewer when in full screen, you could try adding the following CSS to your theme's style.css or similar:

.pdfemb-fsp-wrapper {
   z-index: 999999 !important;
}

You might need to increase the number to something even higher to ensure it takes priority over the 'z-index' of your Theme's header.

Premium Troubleshooting

Hyperlinks in your PDFs are only supported in the Premium (and Premium Secure) version of the plugin, so please make sure you are definitely using one of those versions.

If your links are all displayed as URLs e.g. http://mysite.com/... in the PDF text, then the most likely explanation is that the links in your document aren't 'real links' according to the PDF format.

I know that sounds daft given that some viewer software still converts them to working links, but they do that by guessing because it starts with 'www' or 'http' etc. As far as I understand, the PDF specification doesn't suggest that behavior so you'll find that it needs to be a real link in some viewers (including ours). At the moment, the URL is technically just some text rather than a working hyperlink.

What software you are using to create the PDF? Does the hyperlink work in that software before it's exported as a PDF?

Please get in touch, sending a copy of the broken PDF: contact@wp-pdf.com.

You see the 'View in Full Screen' message when the PDF is embedded in too narrow a column. This is designed so that on mobile devices, the user always has to open in full screen rather than trying to grapple with the inline PDF viewer which is difficult to use in a small screen.

You can remove this feature by going to Settings -> PDF Embedder, and clicking on the Mobile tab.

Set the 'Mobile Width' to 0. This should always display the viewer inline by default, without the 'View in Full Screen' overlay, and then the user can still click the full screen icon in the toolbar to open in full screen only if they want.

If you still want the overlay to appear sometimes then use a non-zero (but still relatively small) number in the 'Mobile Width' setting.

Most often, it is due to your server being unable to reach ours for some reason.

Unfortunately, WordPress' new 'inline' update mechanism isn't very robust, and it doesn't report errors very well. To find out what's wrong, you would need to go back to your Plugins page, check the box to the left of the relevant plugin and then select Update from the drop-down box at the top of the plugins list. i.e. this is a 'bulk update' that should show you more detailed error messages.

The error message might help you understand what needs to be fixed, or you can take a screenshot and send it to us.

In any case, the message on the screen will normally display "Downloading update from http://wp-pdf.com/..". You can copy this entire URL (including the = sign at the end, but not including the ... that it displays after that). Paste it into a new browser tab and it should download the latest ZIP of the plugin to your computer. You can then Deactivate and Delete the existing plugin, then click Add New and Upload to provide the new ZIP file.

Of course, it is even better if we can resolve the issue for future updates.

Please just get in touch for any help on this, especially if you feel uncomfortable with manually updating the Plugin from the ZIP file. Screenshots of the errors as described above are always helpful.

In Settings -> PDF Embedder within your WordPress site, there should be a License tab, and there you can enter the license key you received in your purchase email.

If there is no License tab, then you are almost certainly still using the free version of the plugin. In the Plugins page, Deactivate the free version and follow the instructions to install the Premium plugin you have purchased.

Sometimes mobile devices will cause problems:

  • Image quality is low - PDF appears pixellated and unreadable, or
  • Toolbar is difficult to locate - it keeps moving out of view

These can be caused be conflicts within your own site's settings, e.g. Theme styles.

You can try an advanced setting to see if that helps. Go to Settings -> PDF Embedder, and click the Mobile tab.

Check the box labelled 'Enable if you are experiencing quality issues on mobiles' then click 'Save Changes'.

This will add the following HTML to the head section of every page on your site:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" />

This should have the effect on most mobile browsers of disabling the browser's own zoom feature, meaning all zooming is carried out by the plugin itself. Sometimes, conflicts between the browser and the plugin can cause complications.

Please note you may also need to remove any existing <meta name="viewport" ...> tags from your theme's header.

In full screen mode (Premium versions only), the following keyboard shortcuts can be used:

Page Up / Down (Cmd + Up / Down on a Mac) - move to next/prev page

Arrow keys - pan around the current page of the PDF

Escape - exit full screen mode

You may find that when you click on the 'download' button within the PDF viewer, the PDF opens in a new tab instead of downloading.

This behavior normally happens in Chrome, and you might consider it annoying - when you download a file you want it to be downloaded to your hard drive, and then you can choose to view it from there!

It is possible to change the default behavior on Chrome so that this doesn't happen when you download PDFs. It is also possible to convince most browsers to download the file directly, so this will help all your users (not just you).

To disable this behavior just for your own Chrome installation, type chrome://plugins in the URL bar and then click the 'Disable' link underneath 'PDF Viewer'.

To force downloads of all PDFs on your WordPress site, the configuration may depend on your server so please ask your web hosting company for help. As a guideline, on Apache you could try adding the following text to the .htaccess file in your site's root folder (e.g. via FTP).

<FilesMatch "\.(?i:pdf)$">
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</FilesMatch>

Details for why this works can be found in this article.

Secure Troubleshooting

If you see 'Invalid PDF Structure' where you expected the PDF to display, this may be due to server configuration problems. Either the encrypted file isn't being streamed correctly to the browser (maybe due to gzip being applied incorrectly), or the decryption key in the browser is stale.

Reload the page to check it's not a one-off. Clear any cache (e.g. through a caching plugin), and ideally disable the cache for the page containing the secure PDF going forward. That should ensure the latest decryption key is used and may fix the problem.

In any case, please just get in touch for our help in diagnosing the problem: contact@wp-pdf.com

This only applies if you are using the Secure version of PDF Embedder.

If you have the 'disable right click' option selected, but this doesn't seem to be effective, then most likely your PDF isn't uploaded in secure mode. Please see the instructions on how to turn on secure mode and upload the PDF again.

When you are logged in to the site as an admin and view the page containing the PDF, you should see a 'secure' marker in the toolbar if it is displaying in secure mode.

If you right-click on the embedded PDF and Inspect Element, maybe you can see the direct URL of the PDF file. This might be disconcerting since you expected the 'secure' PDF to be obscured.

However, take a look at the URL. If it does not contain 'securepdfs' then it has not uploaded in secure mode, so please see instructions above and try again.

If it does contain 'securepdfs', then copy the URL to the clipboard and try to access it directly. You should see a '403 unauthorized' message - which is great, since the PDF is supposed to be protected and only visible within the viewer. If you can downloaded the PDF direct then that's a problem, and indicates something is wrong. On non-Apache servers, extra work may be required to ensure the 'securepdfs' folders are protected against direct access. For example, see a typical configuration required for ngnix.

The problem is the size of the file (in MB) - unfortunately it just takes longer to process and transmit the file if it is larger.

The possible solutions are:

- Optimize the PDF itself so that it is smaller. You may lose some image quality...

- Fine-tune the web server (and/or upgrade it). It might be possible to upgrade the memory/processing capabilities of your server to ensure processing happens more efficiently. All of this would need your web host's involvement.

To explain why the non-secure version of the file loads more quickly, as well as the encryption overhead - it is possible to transmit in chunks since it does not need to be encrypted.

Ultimately, if you find secure PDFs are too slow for your site, you may prefer to try uploading the PDFs in non-secure mode instead. It is a trade-off for how important you think the 'secure' functionality is in your case.

Tutorials

The default settings of the plugin will display your PDF at 'maximum width' to fit the area available to it.

If you specify a fixed with for your PDFs that is smaller than the width available, you will probably find the PDF is left-justified within the main area of your web page.

If you want to center the PDF, this really depends on your theme's CSS styles, so you might need to ask your web designer to take a closer look, but one way or another you'd need to target the following CSS element in your theme's style.css file:

div.pdfemb-viewer {
    margin: 0px auto !important;
}

It is unlikely the above suggestion would work directly - again, it depends on the rest of your CSS and layout, but hopefully this clarifies what your web designer needs to target in the CSS.

By default, web browsers have security policies that do not allow Javascript code to fetch files from a different domain to the web page on which the code is already running.

However, it is possible to configure Amazon S3 and other storage services to permit this, and then you'd just have to change the shortcode URL to point to the PDF on S3. i.e. [pdf-embedder url="<url to pdf on S3>"]

To do this, you must "enable CORS on S3 Buckets". To ensure that browsers are able to access the files stored on S3, follow these steps:

  • Navigate to the AWS console and find the S3 configuration area
  • Select the bucket you are using to store your assets
  • Click the ‘Properties’ tab
  • Under ‘Permissions’ click ‘Add CORS Configuration’

AWS will provide a default XML configuration that should work correctly:

<CORSConfiguration>
  <CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>Authorisation</AllowedHeader>
  </CORSRule>
</CORSConfiguration>

However, you may prefer to limit access to your own WordPress site's domain, for security reasons:

<CORSConfiguration>
  <CORSRule>
    <AllowedOrigin>http://www.mysite.com</AllowedOrigin>
    <AllowedOrigin>https://www.mysite.com</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>Authorization</AllowedHeader>
  </CORSRule>
</CORSConfiguration>

CORS is already enabled on some Dropbox domains, so it can be possible to embed PDFs directly from Dropbox, although only if your site is running under HTTPS. Try the following. Obtain the 'share' link from Dropbox ('Copy Dropbox link' from the right-click menu in your file browser). It should be something like this:

https://www.dropbox.com/s/09ctqeg1hd9soi2/Example-PDF-Document.pdf?dl=0

You need to change the domain to dl.dropboxusercontent.com and the dl=0 parameter to 1. So you end up with a shortcode as follows:

[pdf-embedder url="https://dl.dropboxusercontent.com/s/09ctqeg1hd9soi2/Example-PDF-Document.pdf?dl=1"]

If you obtain the link from a Public folder, you may only need to change the dl=0 to dl=1 in order for it to work.

It should be possible to override the border color by adding something like this to your Theme's style.css:

div.pdfemb-viewer {
    border: 1px solid red !important;
}

Of course, you might need to ask your web designer to help if you're not sure where to add that for your particular site. The best arrangement is to have a child theme and to add the above code to the style.css there.

You can also add other CSS styles to change other aspects of the PDF Embedder, such as the button color.

To hide the toolbar, you could try:

div.pdfemb-toolbar {
   display: none !important;
}

You can set most settings in the Settings -> PDF Embedder page in WordPress. These apply to all embeds by default, but you can override the settings of individual embeds by manually adding shortcode parameters to the individual [pdf-embedder] shortcodes - see details here.

It is also possible to override the global defaults by writing PHP code, using a filter named 'pdfemb_filter_shortcode_attrs'.

For example, to add the 'pagetextbox' option to every embed so you don't have to add it to every shortcode manually (there is no global setting available for this parameter), you could add the following code to your Theme's functions.php or similar:

add_filter('pdfemb_filter_shortcode_attrs', 'mypdfshortcodes', 10, 1);

function mypdfshortcodes($atts) {
   $atts['pagetextbox'] = 'on';
   return $atts;
}

You could inspect the value of $atts['url'] if you want to vary the attributes based on the specific PDF file being displayed.

When you select a PDF from the Media Library to insert into your post, by default PDF Embedder will insert it as a shortcode: [pdf-embedder url="<url of PDF>"]. This will cause it to use the plugin's interactive viewer to display the PDF when the page is published.

You can also type the shortcode manually, and maybe you don't normally want the shortcode to be inserted automatically - perhaps most often you just want the WordPress default of a straight 'a href' link to the source PDF file. Another scenario is that some other plugins can break if they use the Media Library to select files for use elsewhere, and they just need WordPress' default link to be inserted - the pdf-embedder shortcode can break them.

To ensure the shortcode is not inserted automatically by default, you can add the following code to your Theme's functions.php or similar (please take backups first as incorrect editing can break your site).

add_filter('pdfemb_override_send_to_editor', 'my_pdfemb_override_send_to_editor', 10, 4);

function my_pdfemb_override_send_to_editor($shortcode, $html, $id, $attachment) {
    return $html;
}

This requires version 2.7.3+ to work.