PDF Embedder – PDF Viewer & Embed PDF Files for WordPress
Upload PDF files and embed them directly into your site’s posts and pages, as simply as adding images. Each document displays right where you place it, at its natural size or a width you choose, and the responsive viewer adapts automatically whenever the browser dimensions change. Out of the box, WordPress turns an uploaded PDF into a bare download link: visitors click it and leave your page, or the file opens in a viewer you don’t control. PDF Embedder keeps them reading on the page and keeps you in control of how your document looks. PDF Embedder displays PDF documents on more than 300,000 websites. It differs from other PDF plugins in how the document becomes part of the page: rendered inline, sized to your layout, served entirely from your own site, and previewed live while you edit. There is no Google Docs Viewer or other third-party service involved, and the viewer loads its files only on pages that contain a PDF, so the rest of your site stays fast. In the Block Editor, the PDF Embedder block shows a live preview of your document while you edit. Pick a PDF file from the block sidebar, change a setting, and the preview updates to match what visitors will see on the front end. What can you embed? Any PDF file, whether it lives in your Media Library or in another folder on your site. Embed unlimited PDFs across posts, pages, and custom post types. Site owners use PDF Embedder to display: Restaurant menus and price lists Ebooks, guides, whitepapers, and research reports Product catalogs, brochures, and lookbooks Newsletters, magazines, and annual reports User manuals and technical documentation Worksheets, lesson plans, and other course materials Sheet music, church bulletins, and event programs Real estate flyers, floor plans, and legal documents Resumes and portfolios Visitors read the document right on the page: no new tab, no forced download, and no Adobe Acrobat or third-party account required. How it works Upload a PDF to your Media Library, or copy the URL of a PDF hosted anywhere else. Add the PDF Embedder block and pick the file from the block sidebar. In the Classic Editor or a page builder, use the shortcode instead. Publish. Visitors turn pages with the Next and Previous buttons and zoom in when part of a page is too small for their screen. The shortcode works anywhere shortcodes do: [pdf-embedder url="https://example.com/wp-content/uploads/2024/01/Plan-Summary.pdf"] Site-wide defaults, such as width and toolbar position, live under Settings -> PDF Embedder, and any single embed can override them with its own block settings or shortcode attributes. See the Plugin Instructions for sizing options and other ways to customize. Works with membership, e-commerce, and course plugins PDF Embedder renders through a regular shortcode and block, so the viewer works anywhere your post content does, including pages that other plugins restrict or sell access to. Sell access to premium PDF content, such as ebooks, reports, or research papers, by embedding it on pages protected with MemberPress, Paid Memberships Pro, Restrict Content Pro, or WooCommerce Memberships. Deliver handouts and workbooks inside courses built with LearnDash, LifterLMS, or Tutor LMS. Show a free sample chapter on a WooCommerce or Easy Digital Downloads product page, and deliver the full ebook after purchase. Embed several PDFs on one page to build a simple PDF document library for your team, school, or members. On the Pro plan of PDF Embedder Premium, you can pair restricted pages with the secure viewer and watermarks, so members read documents online while the original file stays hard to download. What users say Site owners tend to stay with PDF Embedder for years. Here is what they say: “One client wanted to display PDF newsletters in a way that was clean, user-friendly, and easy to scroll through. That’s when I discovered WP PDF Embedder. It does the job beautifully, making PDFs look professional and effortless to navigate. Since then, it has become my go-to recommendation for any client who needs to showcase PDF content on their website.” — Vera Schafer “I have been using PDF Embedder for well over ten years. It’s just a great app. Can’t recommend it enough.” — Rich Calo “I have been using this plugin (both the free version and the pro version) for a number of years on various clients’ websites. It is easy to set up, does what it needs to and just works the way a plugin should. I highly recommend it.” — DebsWebs “I’ve been using PDF Embedder Secure for 3 years now, and it helped me sharing my paid content securely, preventing malicious people from buying my PDF files and then sharing them illegally everywhere. PDF files are chopped, digested, watermarked, unaccessible even if someone finds the direct link.” — Daniele Benedettelli Go further with PDF Embedder Premium In the free plugin, there is no download button and links inside the PDF are not clickable – the viewer is intentionally simple to fulfill the “read online” goal. PDF Embedder Premium adds those and more: Download button in the toolbar, so visitors can save your document for later. Working hyperlinks, both within the document and out to any other page. Continuous scroll – readers scroll through pages naturally instead of clicking through them. Mobile-friendly full screen mode – when the document renders narrower than a width you set, as it does on most phones, it displays as a thumbnail with a large “View in Full Screen” button. The document opens with the full focus of the mobile browser, and readers swipe between pages instead of clicking buttons. Jump to page – type a page number in the toolbar to go straight there. Full-text search – visitors search the text of your PDF documents from the toolbar and jump straight to matching pages. View and download tracking – see which documents people actually read. Elementor widget with the same options as the block and a live PDF preview in the Elementor editor. Secure viewing (Pro plan) – the PDF is encrypted during transmission, so it is difficult for a casual user to save or print the original file, and your document is far less likely to end up outside your site. Watermarks (Pro plan) – overlay any text, including the logged-in user’s name or email address, to discourage sharing of screenshots. Automatic PDF thumbnails (Elite plan) – every PDF in your Media Library gets an image thumbnail to use as a featured image, a clickable download link, or the file’s icon in the Media Library. Every plan comes with a 14-day money-back guarantee: if Premium is not a fit, you get a refund, no questions asked. Compare Premium plans on wp-pdf.com Better than Google Drive embeds, Scribd, Issuu, and other PDF tools The usual ways to embed a PDF without a plugin – an iframe snippet, the Google Drive or Google Docs viewer, or a service like Scribd, Issuu, FlippingBook, FlipHTML5, or DocDroid – hand your document to servers you don’t control. It loads at their speed, carries their branding, and can disappear or change terms at any time. You may have also tried other WordPress PDF plugins, such as EmbedPress, Embed Any Document, PDF Poster, Wonder PDF Embed, PDF.js Viewer, or flipbook plugins like DearFlip and 3D FlipBook. Most rely on iframes or third-party viewers to display the document. PDF Embedder keeps everything on your own site: your files, your server, your data. That is better for page speed, better for privacy, and more reliable for your visitors. With thanks to the Mozilla team for developing the underlying pdf.js technology used by this PDF viewer plugin. Branding guidelines PDF Embedder is a product of wp-pdf.com. When writing about this WordPress PDF plugin, please use the correct branding: PDF Embedder (correct) PDFEmbedder (incorrect) PDF Embeder (incorrect) PDF Imbedder (incorrect)
Top keywords
- pdf50×3.83%
- embedder17×1.30%
- pdf embedder17×1.30%
- document14×1.07%
- page12×0.92%
- pages10×0.77%
- viewer10×0.77%
- block8×0.61%
- embed8×0.61%
- site8×0.61%
- download7×0.54%
- file7×0.54%
tsParticles WP Block
Official tsParticles WordPress Plugin Easily create highly customizable particle, confetti and fireworks animations and use them as animated backgrounds for your website. Ready to use components available also for Web Components, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, React, Riot.js, Solid.js, Inferno. Official tsParticles website with options editor: https://particles.js.org Official Social Channels: GitHub Discord Telegram Reddit Twitter Breaking Changes Removed @tsparticles/updater-color and @tsparticles/updater-stroke-color, consolidated into @tsparticles/updater-paint Removed @tsparticles/move-base and @tsparticles/move-parallax, consolidated into @tsparticles/plugin-move Default options updated: removed fpsLimit, changed particles.color to particles.paint.color Bug Fixes Fixed default options alignment with engine v4 API (particles.color → particles.paint.color) Fixed missing plugin-lch-color and duplicate plugin-oklch-color in source loaders Fixed missing toggle attributes for various packages in block.json Fixed alignment between package.json dependencies, block.json toggles, and source loaders (all 151 toggleable packages now match) New Features Added toggleable support for all new v4 packages: Effects: filter, particles, shadow Interactions: external-cannon, external-destroy, external-drag, external-parallax, external-particle Paths: branches, brownian, fractal-noise, grid, levy, random, spiral, zig-zag Plugins: background-mask, blend, easing-bounce, easing-elastic, easing-gaussian, easing-sigmoid, easing-smoothstep, hex-color, hsl-color, hwb-color, interactivity, lab-color, lch-color, manual-particles, move, named-color, oklab-color, oklch-color, poisson-disc, responsive, rgb-color, themes, trail, zoom Presets: ambient, confetti-cannon, confetti-explosions, confetti-falling, confetti-parade, hyperspace, matrix, meteors, party Shapes: infinity, matrix, ribbon, squircle Full integration with the v4 plugin architecture (easings, color space plugins, emitter shapes, exports) = 3.0.0 BREAKING CHANGES Removed all tsParticles load methods to keep only a single one using a single object parameter Removed support for shape deprecated properties like shape.image, shape.polygon, shape.stroke the stroke property can be found in the particles section, not in the shape object the image and polygon properties, like any other shape, are part of the shape.options object Stroke now is a single object only like all the other particles properties Removed multiline text shape, the text shape now supports that Simplified some functions, using objects or removing unused overloads, this is breaking for v2 shapes Moved some properties to private since they were public by mistake (this shouldn’t affect many, the properties were mainly used in the engine) Removed obsolete random properties in options objects Removed emitters shapes from the plugin files, every emitters shape now has a dedicated package Major Changes All the components for Front End frameworks were removed from this repository, each one now has its own repository. This is mainly for maintainability. It’s easier to support multiple Front End frameworks versions in a dedicated repository instead of a multipurpose monorepository. Vue.js 2.x and 3.x were kept split because they have many differences. Angular (@tsparticles/angular): https://github.com/tsparticles/angular (v3 under development) Astro (@tsparticles/astro): https://github.com/tsparticles/astro (v3 under development) Ember (@tsparticles/ember): https://github.com/tsparticles/ember (v3 under development) Inferno (@tsparticles/inferno): https://github.com/tsparticles/inferno (v3 under development) jQuery (@tsparticles/jquery): https://github.com/tsparticles/jquery (v3 under development) Lit (@tsparticles/lit): https://github.com/tsparticles/lit (v3 under development) Preact (@tsparticles/preact): https://github.com/tsparticles/preact (v3 under development) React (@tsparticles/react): https://github.com/tsparticles/react (v3 under development) Riot (@tsparticles/riot): https://github.com/tsparticles/riot (v3 under development) Solid (@tsparticles/solid): https://github.com/tsparticles/solid (v3 under development) Svelte (@tsparticles/svelte): https://github.com/tsparticles/svelte (v3 under development) Vue.js (@tsparticles/vue): https://github.com/tsparticles/vue (v3 under development) Web Components (@tsparticles/webcomponents): https://github.com/tsparticles/webcomponents (v3 under development) WordPress (@tsparticles/wordpress): https://github.com/tsparticles/wordpress (v3 under development) Removed all presets from this repository for a single one (https://github.com/tsparticles/presets) in the @tsparticles organization, this will make easier to contribute to specific presets or create new ones. (Renaming them to @tsparticles/preset- #3977) All the previous packages will be deprecated when v3 will come out. Using only the new naming system is the main focus of v3. All the official packages will have @tsparticles/ organization in the package name, replacing tsparticles- prefix, except for tsparticles package which will remain the same. Moved editor to its own repository: https://github.com/tsparticles/editor Pjs package now supports all the legacy pjs options only. This will make this package a wrapper for old pjs users. You can’t use tsParticles options in pjs calls. Pjs package is no longer part of @tsparticles/slim bundle, only included in @tsparticles/all. Text shape is no longer part of @tsparticles/slim bundle, included in tsparticles. Emoji shape is now part of @tsparticles/slim bundle. Bug Fixes Fixed bug when using particles groups Fixed pool on particles destroyed by updaters Fixed out modes, bounce was not checking the direction of the update request Fixed issue with change theme when an existing canvas is used Fixed updates on particles destroyed by updaters, that section wasn’t using the memory pool for reusing old particles instead of creating new ones. Fixed memory leak in destroyed particles by updaters, the z array wasn’t filtered, thanks to @longnguyen2004, closes #5101 Fixed light interaction, particle shadow wasn’t calculated correctly Improved resize event and density formula Fixed trails config Fixed flat output in @tsparticles/confetti Improved sounds plugin Fixed position in emitters after respawn New Features Added new EventType particleDestroyed Replaced text shape with emoji shape in @tsparticles/confetti Reworked @tsparticles/fireworks a bit for better output with the new v3 trails Added range values to life duration and delay of emitters Added two new bundles @tsparticles/basic: minimum plugins for having circular dots moving in the canvas, common package for all bundles, and presets after this is released. Packages included: @tsparticles/engine @tsparticles/move-base @tsparticles/shape-circle @tsparticles/updater-color @tsparticles/updater-opacity @tsparticles/updater-out-modes @tsparticles/updater-size @tsparticles/all: a package that includes all the plugins, it’s not a best practice to use this, but the easiest way for trying every feature available for sure. It will be used mainly in the website. Added event on config added to the engine Added flat options to @tsparticles/confetti options Creating support for effects, like bubble that wasn’t a real shape Added linear easing Created new emitters shapes: Canvas, Path and Polygon Created trail effect plugin, this one is a real trail drawn in the canvas, it works also in transparent backgrounds. It requires more resources since it’s drawn calculating last N positions and not redrawing a semi-transparent canvas on itself, supports also fade. Added pop click interaction Added limit mode (breaking changes on limit options) Added possibility to replace color and opacity for emitters shapes Added more options for customizing noises values (only Simplex and Perlin paths) Added curl noise path plugin Created Simplex and Perlin noise packages from their path plugins, they can be used in multiple packages without duplication (Curl Noise path for example) Added new emoji shape, better performance than text shape Added clear flag to the root object, enabled by default, if disabled, the canvas won’t be cleared = 2.11.0 Bug Fixes Removed console log, closes #5003 Fixed getPositionOrSize function Fixed some shapes New Features Added refresh flag for loading plugins, this will prevent multiple refresh of the instance Added animated gif support to image drawer (use it with caution, gifs are heavy) Added setLogger and getLogger functions, this will prevent console.log mistakenly left in the code. Added export plugins, previous export functions were removed (barely used), and a 3 new plugins are available. The available exports plugin are: Image, JSON, Video. The first two were already present, the third one is new. Added new rounded polygon shape Other Changes Removed fallbacks for requestAnimationFrame, they’re useless. Added tree shaking capabilities Added ESLint no-console rule, to avoid other issues likes #5003, getLogger must be used when needed some logs. How do setLogger and getLogger functions work? If you want to customize the log of tsParticles you can call setLogger(logger) function, passing a ILogger object. The setLogger function prevents undefined properties assigning the default one. `ts setLogger({ debug: console.debug, error: console.error, info: console.info, log: console.log, verbose: console.log, warning: console.warn, }); ` This assigns all the log functions console functions, but you can use empty functions (() => {}) to disable every function. If there’s a console.log left like in #3552, #3528 or #5003, you can disable the log property of the setLogger parameter to get rid of it, so you don’t have to wait the next release. The getLogger function, returns the object set using setLogger, every plugin MUST use getLogger() for logging things, so mistakes can be fixed easily, even errors can be muted or redirected to your favorite logging platform. If you want to log something use this code: `ts getLogger().log(“tsParticles is awesome”); ` = 2.10.0 New Features Added max speed value to collisions options Added range values to spiral shape options, added widthFactor value Added new arrow shape Added new cog shape Added mode to more coordinates options Added error prefix to standardize error messages Added image preload and name to shape options. Preload an image with a name, so it can be retrieved using only that in the options. Added compatibility with another old particles.js library (deprecated but some samples can be found around) Added new path plugin, using svg paths as a source Added delta to path generators Added delay options to particles values animations (opacity, size, color, stroke), closes #4985 Bug Fixes Fixed typo in fireworks bundle exported types Fixed presets without particles count Improved container reset Fixed window resize fired during the initialization Improved spiral shape Fixed ICoordinates types Fixed some load functions that weren’t async Fixed some shapes particle init Other Changes Improved image shape Changed despawn confetti action using opacity animation, was life duration, closes #4978 All the components for Front End frameworks were removed from this repository, each one now has its own repository. This is mainly for maintainability. It’s easier to support multiple Front End frameworks versions in a dedicated repository instead of a multipurpose monorepository. Vue.js 2.x and 3.x were kept split because they have many differences. Angular (ng-particles): https://github.com/tsparticles/angular Astro (astro-particles): https://github.com/tsparticles/astro Ember (ember-tsparticles): https://github.com/tsparticles/ember Inferno (inferno-particles): https://github.com/tsparticles/inferno jQuery (jquery-particles): https://github.com/tsparticles/jquery Lit (lit-tsparticles): https://github.com/tsparticles/lit (WIP) Preact (preact-particles): https://github.com/tsparticles/preact React (react-particles): https://github.com/tsparticles/react Riot (riot-particles): https://github.com/tsparticles/riot Solid (solid-particles): https://github.com/tsparticles/solid Stencil (`stencil-particles): https://github.com/tsparticles/stencil (WIP) Svelte (svelte-particles): https://github.com/tsparticles/svelte Vue.js 2.x (vue2-particles): https://github.com/tsparticles/vue2 Vue.js 3.x (vue3-particles): https://github.com/tsparticles/vue3 Web Components (web-particles): https://github.com/tsparticles/webcomponents WordPress (wordpress-particles): https://github.com/tsparticles/wordpress Removed all presets from this repository for a single one (https://github.com/tsparticles/presets) in the @tsparticles organization, this will make easier to contribute to specific presets or create new ones. Added global variables to window object, so they are always accessible Migrating output to ES2021, it’s widely used and supported = 2.9.3 Bug Fixes Fixed some plugins, they weren’t loading correctly the options = 2.9.2 Bug Fixes Added missing shapes to confetti bundle Fixed issue with emitters plugin that spawned an unwanted emitters, fixes #4905 = 2.9.1 Bug Fixes Fixed missing plugins in wordpress component Fixed confetti bundle package.json Fixed confetti.create function in confetti bundle = 2.9.0 New Features Creating confetti bundle, easier confetti animations usage. Removed confetti function from the preset, this bundle replaces this feature. Creating fireworks bundle, easier fireworks animations usage. Minor Changes Added version to the Engine object. Added color and colorOffset properties to split options. Changed default particles number value to 0, the previous default value was meaningless. You must specify a number now, it’s easier to implement emitters plugin since you can declare just the emitters property without specifying 0 particles. If you need any number, you declare it ignoring the default value. = 2.8.0 New Features Reworked move.trail options, created a fill property that is an object with color and image, closes #4882 Bug Fixes Fixed polygon mask position issues Fixed polygon mask scaling issues = 2.7.1 New features Added loop options to sounds audio values Added volume buttons to sounds plugin Other Changes Moved out some plugin specific code from the engine to the dedicated plugin 2.7.0 Bug Fixes Fixed issue with animation random size, multiplying again the pixel ratio Added missing export EventType Fixed Engine package exports New Features Added shape options to circle, added range (min/max object) values to polygon and star shape options Changed default file for slim and full bundles, using the bundled file Added support for multiple shape drawers declared at once instead of adding a shape drawer multiple times Added ranged values in stroke width and opacity properties Added loops count to color animations Improved density values, now is 1:1 with number on 1080p resolution with pixel ratio of 1 (this is not a breaking change since nothing breaks, but it changes the behavior of existing values) Density values now has width/height values instead of area/factor, for compatibility reason width is mapped to area and height to factor. Created sounds plugin, with mute/unmute icons Added explosion sounds to fireworks preset Circle Options In particle.shape now it’s possible to set another option to the circle shape, angle. The new property accepts a number or a { min: number; max: number } object, when only number it’s going to be { min: 0, max: }. This creates partial circles starting from min to max, both values must be specified in degrees. If this value is ignored the default value is: { min: 0, max: 360 } (the full circle). Examples ` … shape: { type: “circle”, options: { circle: { angle: 180 } } } … ` This examples creates horizontal half circles ` … shape: { type: “circle”, options: { circle: { angle: { min: 90, max: 270 } } } } … ` This examples creates vertical half circles Density options The density options are changed a bit, instead of area/factor values, the width/height values are introduced and mapped respectively. The default values are changed to width 1920 and height 1080, so on a FullHD resolution on device pixel ratio 1 the particles number is the one specified in the options. Since width and height are multiplied together, they can be swapped and nothing changes. The formula for the density is: (canvasWidth * canvasHeight) / (densityWidth * densityHeight * devicePixelRatio^2) Notes on existing configurations Since many configs had a density.area value of 800, you’ll see less particles, just a few less. If you have also a factor value, you won’t notice any difference. When only area is set, if you want to keep the previous configuration, set factor to 1000. Since the default factor (height) value is 1080 now, the difference should be barely noticeable. 2.6.0 Bug Fixes Improved angular component id management Fixed multiline text shape (and relative demo) Fixed issues with links colors and themes, fixes #4841 New Features Added new resize object to interactivity options, can change the debounce delay, fixes #4803 WordPress plugin is now localizable, closes #4807 Other Changes Fixed dependencies charts on README …