{"id":397533,"date":"2026-11-08T10:08:01","date_gmt":"2026-11-08T10:08:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pdf-embed-forge\/"},"modified":"2026-11-08T10:14:50","modified_gmt":"2026-11-08T10:14:50","slug":"embedwell","status":"publish","type":"plugin","link":"https:\/\/dv.wordpress.org\/plugins\/embedwell\/","author":23298972,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.0","stable_tag":"1.3.0","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Embedwell PDF Embed Viewer","header_author":"Gunjan Jaswal","header_description":"Embed a PDF on your site with a block or a shortcode. A clean, responsive, full-width inline viewer that uses the browser's own PDF reader. No external services.","assets_banners_color":"4b2439","last_updated":"2026-11-08 10:14:50","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/ko-fi.com\/gunjanjaswal","header_plugin_uri":"https:\/\/github.com\/gunjanjaswal\/Embedwell","header_author_uri":"https:\/\/www.gunjanjaswal.me","rating":0,"author_block_rating":0,"active_installs":0,"downloads":142,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.0":{"tag":"1.3.0","author":"gunjanjaswal","date":"2026-11-08 10:14:50","revision":3790808}},"upgrade_notice":{"1.3.0":"<p>Renamed to Embedwell. Your existing embeds keep working.<\/p>","1.2.0":"<p>Renamed to Paperpane. Your existing embeds keep working.<\/p>","1.1.0":"<p>Renamed to DocuForge. Your existing embeds keep working.<\/p>","1.0.5":"<p>Tidier mobile button.<\/p>","1.0.4":"<p>Mobile now shows a first-page preview with a View full screen button.<\/p>","1.0.3":"<p>Better mobile experience: a tap-to-open card on phones.<\/p>","1.0.2":"<p>Renamed to PDF Embed Forge. Your existing embeds keep working.<\/p>","1.0.1":"<p>Cleaner full-width viewer with the thumbnail sidebar hidden.<\/p>","1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3790802,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3790802,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3790802,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3790802,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"embedwell\/embed":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"embedwell\/embed","title":"Embedwell PDF Embed","category":"media","icon":"media-document","description":"Embed a PDF file directly in your post with an inline viewer.","keywords":["pdf","embed","document","viewer","file"],"textdomain":"embedwell","editorScript":"embedwell-editor","style":"embedwell","supports":{"align":["wide","full"],"html":false,"anchor":true},"attributes":{"id":{"type":"number","default":0},"url":{"type":"string","default":""},"height":{"type":"number","default":600},"toolbar":{"type":"boolean","default":true},"title":{"type":"string","default":""}}}},"tagged_versions":["1.3.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3790808,"resolution":"1","location":"assets","locale":"","width":800,"height":600}},"screenshots":{"1":"A PDF embedded inline in a post, shown in the browser's built-in viewer."}},"plugin_section":[],"plugin_tags":[8470,230,1764,26896,80],"plugin_category":[43,50,56],"plugin_contributors":[245263],"plugin_business_model":[],"class_list":["post-397533","plugin","type-plugin","status-publish","hentry","plugin_tags-document","plugin_tags-embed","plugin_tags-pdf","plugin_tags-pdf-viewer","plugin_tags-shortcode","plugin_category-customization","plugin_category-media","plugin_category-social-and-sharing","plugin_contributors-gunjanjaswal","plugin_committers-gunjanjaswal"],"banners":{"banner":"https:\/\/ps.w.org\/embedwell\/assets\/banner-772x250.png?rev=3790802","banner_2x":"https:\/\/ps.w.org\/embedwell\/assets\/banner-1544x500.png?rev=3790802","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/embedwell\/assets\/icon-128x128.png?rev=3790802","icon_2x":"https:\/\/ps.w.org\/embedwell\/assets\/icon-256x256.png?rev=3790802","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/embedwell\/assets\/screenshot-1.png?rev=3790808","caption":"A PDF embedded inline in a post, shown in the browser's built-in viewer."}],"raw_content":"<!--section=description-->\n<p>Embedwell drops a PDF straight into your content so readers can scroll through it without leaving the page. Pick a file from your Media Library (or paste a URL), choose a height, and you are done.<\/p>\n\n<p>It uses the browser's own PDF viewer, so there is no heavy library to load and nothing is sent to an outside service. Your files stay on your own site.<\/p>\n\n<p><strong>What you get<\/strong><\/p>\n\n<ul>\n<li>An \"Embedwell\" block for the editor, with a live preview while you set it up.<\/li>\n<li>An <code>[ew-pdf-embed]<\/code> shortcode for the classic editor, widgets, or anywhere shortcodes run.<\/li>\n<li>Control over the viewer height and the built-in toolbar.<\/li>\n<li>Fits the page to the viewer width and hides the thumbnail sidebar for a clean, full-width read.<\/li>\n<li>Responsive by default, so it fits phones as well as wide desktop layouts.<\/li>\n<li>Translation ready, properly escaped output, and no settings page to wade through.<\/li>\n<\/ul>\n\n<h3>How to use<\/h3>\n\n<p><strong>Embed a PDF with the block<\/strong><\/p>\n\n<ol>\n<li>Edit a post or page.<\/li>\n<li>Click the <strong>+<\/strong> (block inserter) and search for <strong>Embedwell<\/strong>.<\/li>\n<li>Add the block, then click <strong>Upload<\/strong> or <strong>Media Library<\/strong> and pick your PDF.<\/li>\n<li>In the block sidebar, set the <strong>viewer height<\/strong>, show or hide the <strong>toolbar<\/strong>, and type an <strong>accessible title<\/strong> if you like.<\/li>\n<li>Use the toolbar's <strong>Replace PDF<\/strong> button any time you want to swap the file.<\/li>\n<li>Publish. The PDF shows up inline, fitted to the width of your content.<\/li>\n<\/ol>\n\n<p>Tip: to run the viewer edge to edge, select the block and choose <strong>Wide width<\/strong> or <strong>Full width<\/strong> from the block toolbar.<\/p>\n\n<p><strong>Embed a PDF with the shortcode<\/strong><\/p>\n\n<p>Use the shortcode when you are in the classic editor, a widget, or a template file.<\/p>\n\n<p>Embed a file from your Media Library by its attachment ID:<\/p>\n\n<pre><code>[ew-pdf-embed id=\"123\"]\n<\/code><\/pre>\n\n<p>Embed any PDF by its URL, taller and with the toolbar hidden:<\/p>\n\n<pre><code>[ew-pdf-embed url=\"https:\/\/example.com\/files\/report.pdf\" height=\"800\" toolbar=\"0\"]\n<\/code><\/pre>\n\n<p>Call it from a template with <code>do_shortcode()<\/code>:<\/p>\n\n<pre><code>&lt;?php echo do_shortcode( '[ew-pdf-embed id=\"123\"]' ); ?&gt;\n<\/code><\/pre>\n\n<p><strong>Finding a PDF's attachment ID<\/strong><\/p>\n\n<p>Open <strong>Media \u2192 Library<\/strong>, click the PDF, and read the <code>item=<\/code> number in the URL, or copy the file URL and use it with the <code>url<\/code> attribute instead.<\/p>\n\n<p><strong>Shortcode attributes<\/strong><\/p>\n\n<ul>\n<li><code>id<\/code> \u2014 Media Library attachment ID of the PDF.<\/li>\n<li><code>url<\/code> \u2014 Direct URL to a PDF (used if no <code>id<\/code> is given).<\/li>\n<li><code>height<\/code> \u2014 Viewer height in pixels. Default <code>600<\/code>.<\/li>\n<li><code>toolbar<\/code> \u2014 <code>1<\/code> to show the viewer toolbar, <code>0<\/code> to hide it. Default <code>1<\/code>.<\/li>\n<li><code>title<\/code> \u2014 Accessible title for the viewer (read by screen readers).<\/li>\n<\/ul>\n\n<p>The <code>[embedwell]<\/code>, <code>[pp-pdf-embed]<\/code>, <code>[paperpane]<\/code>, <code>[docuforge]<\/code>, <code>[pdf-embed-forge]<\/code> and <code>[pdf-forge]<\/code> shortcodes also work as aliases, so anything you built before keeps running.<\/p>\n\n<!--section=installation-->\n<p><strong>From your dashboard<\/strong><\/p>\n\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Choose <code>embedwell.zip<\/code> and click <strong>Install Now<\/strong>.<\/li>\n<li>Click <strong>Activate<\/strong>.<\/li>\n<\/ol>\n\n<p><strong>Manually over FTP\/SFTP<\/strong><\/p>\n\n<ol>\n<li>Unzip the download and upload the <code>embedwell<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Go to <strong>Plugins<\/strong> in WordPress and activate <strong>Embedwell<\/strong>.<\/li>\n<\/ol>\n\n<p>There is no settings page. Once it is active you can add PDFs straight away.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20on%20mobile%3F\"><h3>Does it work on mobile?<\/h3><\/dt>\n<dd><p>Yes. On phones, where inline PDF frames are cramped (and unreliable in iOS Safari), the embed shows the PDF's first page with a \"View full screen\" button that opens it in the device's full-screen viewer. The first-page image is the one WordPress generates on upload; if your host can't make it, a document icon is shown instead. The inline viewer is used on larger screens.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20the%20toolbar%20or%20the%20pages%20sidebar%3F\"><h3>Can I hide the toolbar or the pages sidebar?<\/h3><\/dt>\n<dd><p>The thumbnail sidebar is hidden automatically for a clean read. To hide the toolbar as well, set <code>toolbar=\"0\"<\/code> on the shortcode or flip the toggle in the block sidebar. These are honoured by Chromium-based browsers; others simply show their own controls.<\/p><\/dd>\n<dt id=\"can%20i%20embed%20a%20pdf%20hosted%20on%20another%20site%3F\"><h3>Can I embed a PDF hosted on another site?<\/h3><\/dt>\n<dd><p>Yes, pass its full URL to the <code>url<\/code> attribute. Note that some hosts block being shown inside a frame, which is their setting rather than something the plugin controls.<\/p><\/dd>\n<dt id=\"does%20it%20send%20my%20pdfs%20anywhere%3F\"><h3>Does it send my PDFs anywhere?<\/h3><\/dt>\n<dd><p>No. The browser loads the file straight from your site. Nothing is uploaded to or proxied through any external service.<\/p><\/dd>\n<dt id=\"is%20there%20a%20settings%20page%3F\"><h3>Is there a settings page?<\/h3><\/dt>\n<dd><p>No. Everything is configured per embed, on the block or the shortcode.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Renamed the plugin to Embedwell, with the <code>[ew-pdf-embed]<\/code> shortcode and the Embedwell PDF Embed block. The <code>[embedwell]<\/code>, <code>[pp-pdf-embed]<\/code>, <code>[paperpane]<\/code>, <code>[docuforge]<\/code>, <code>[pdf-embed-forge]<\/code> and <code>[pdf-forge]<\/code> shortcodes and the older blocks also work, so existing embeds are unaffected.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Renamed the plugin to Paperpane, with the <code>[pp-pdf-embed]<\/code> shortcode and the Paperpane PDF Embed block. The former <code>[docuforge]<\/code>, <code>[pdf-embed-forge]<\/code> and <code>[pdf-forge]<\/code> shortcodes and the older blocks keep working.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Renamed the plugin to DocuForge, with the <code>[docuforge]<\/code> shortcode and a DocuForge PDF block. The former <code>[pdf-embed-forge]<\/code> and <code>[pdf-forge]<\/code> shortcodes and the old block keep working.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Keep the mobile \"View full screen\" button on a single line.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Mobile card now shows the PDF's first page (from the preview WordPress generates on upload) with a \"View in Full Screen\" button, falling back to a document icon when no preview exists.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Mobile: phones now show a tap-to-open card that opens the PDF full screen, instead of a cramped inline frame. Desktop keeps the inline viewer.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Renamed the plugin to PDF Embed Forge, with the <code>[pdf-embed-forge]<\/code> shortcode (the old <code>[pdf-forge]<\/code> shortcode still works).<\/li>\n<li>Wide and Full width block alignment now break the viewer out of the content column.<\/li>\n<li>Expanded the how-to documentation.<\/li>\n<li>Added a <code>languages<\/code> folder with a translation template.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>The viewer now fits the page to its width and hides the thumbnail sidebar for a clean, full-width read.<\/li>\n<li>Added Ko-fi and contact links to the plugin row on the Plugins screen.<\/li>\n<li>Removed the separate download link; the viewer's own toolbar already offers downloads.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: block and shortcode with height and toolbar controls.<\/li>\n<\/ul>","raw_excerpt":"Embed a PDF right inside a post or page with a clean, responsive, full-width viewer. Add it with a block or a shortcode. No third-party services.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/dv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/397533","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/dv.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/dv.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=397533"}],"author":[{"embeddable":true,"href":"https:\/\/dv.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/gunjanjaswal"}],"wp:attachment":[{"href":"https:\/\/dv.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=397533"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/dv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=397533"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/dv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=397533"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/dv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=397533"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/dv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=397533"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/dv.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=397533"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}