[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fQzuSc0wDwv14mLUfnqNiEX3ifZEeS9Ojvbng9Rzqodk":3},{"slug":4,"name":4,"version":5,"author":6,"author_profile":7,"description":8,"short_description":9,"active_installs":10,"downloaded":11,"rating":12,"num_ratings":12,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":22,"download_link":23,"security_score":24,"vuln_count":12,"unpatched_count":12,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":36,"analysis":133,"fingerprints":181},"upladobe","1.0.0","Fumiki Takahashi","https:\u002F\u002Fprofiles.wordpress.org\u002Ftakahashi_fumiki\u002F","\u003Cp>Generate thumbnails for .psd, .ai and .pdf file.\u003C\u002Fp>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>PHP 5.3 and over.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fphp.net\u002Fmanual\u002Fen\u002Fbook.imagick.php\" rel=\"nofollow ugc\">Imagick extention\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Acknowledgements\u003C\u002Fh3>\n\u003Cp>This plugin is highly inspired by \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpdf-thumbnails\u002F\" rel=\"ugc\">PDF thumbnails\u003C\u002Fa> plugin.\u003C\u002Fp>\n\u003Ch3>Contribution\u003C\u002Fh3>\n\u003Cp>This plugin is hosted on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhametuha\u002Fupladobe\" rel=\"nofollow ugc\">github\u003C\u002Fa>. Any PR’s are welcomed.\u003C\u002Fp>\n","A WordPress plugin which enable to create thumbnails for .pds, .ai and .pdf.",10,1671,0,"2016-07-01T02:28:00.000Z","4.5.33","4.4","",[18,19,20,21],"ai","pdf","psd","thumbnail","https:\u002F\u002Fgithub.com\u002Fhametuha\u002Fupladboe","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fupladobe.1.0.0.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":29,"display_name":6,"profile_url":7,"plugin_count":30,"total_installs":31,"avg_security_score":32,"avg_patch_time_days":33,"trust_score":34,"computed_at":35},"takahashi_fumiki",14,3590,90,513,72,"2026-04-04T14:38:21.508Z",[37,62,78,98,117],{"slug":38,"name":39,"version":40,"author":41,"author_profile":42,"description":43,"short_description":44,"active_installs":45,"downloaded":46,"rating":47,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":52,"tags":53,"homepage":57,"download_link":58,"security_score":59,"vuln_count":60,"unpatched_count":12,"last_vuln_date":61,"fetched_at":26},"pdf-thumbnail-generator","PDF Thumbnail Generator","1.5","kubiq","https:\u002F\u002Fprofiles.wordpress.org\u002Fkubiq\u002F","\u003Cp>Generates thumbnail for PDF file automatically after file is uploaded to the Media library.\u003C\u002Fp>\n\u003Cp>You can also generate thumbnails for old PDF files that are already in the Media library – you can generate missing thumbnails or regenerate all thumbnails.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Imagick library must be installed on your server, otherwise this plugin will not work\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>automated test after plugin activation to make sure it will work on your server\u003C\u002Fli>\n\u003Cli>works with all types of WordPress installations: domain, subdomain, subdirectory, multisite\u002Fnetwork\u003C\u002Fli>\n\u003Cli>works on Apache and NGiNX\u003C\u002Fli>\n\u003Cli>automatically generate thumbnail for new uploaded PDFs\u003C\u002Fli>\n\u003Cli>(re)generate thumbnails for existing PDFs in Media library\u003C\u002Fli>\n\u003Cli>set maximum width of PDF thumbnail\u003C\u002Fli>\n\u003Cli>set maximum height of PDF thumbnail\u003C\u002Fli>\n\u003Cli>set image quality of PDF thumbnail\u003C\u002Fli>\n\u003Cli>set image file type of PDF thumbnail\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shortcodes\u003C\u002Fh3>\n\u003Ch3>pdf_thumbnail\u003C\u002Fh3>\n\u003Cp>Maybe you want to display PDF thumbnail by using a shortcode\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[pdf_thumbnail id=\"123\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>pdf_thumbnail_url\u003C\u002Fh3>\n\u003Cp>Maybe you want to display PDF thumbnail url by using a shortcode\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[pdf_thumbnail_url id=\"123\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>pdf_clickable_thumbnail\u003C\u002Fh3>\n\u003Cp>Maybe you want to display clickable PDF thumbnail that will open PDF in new tab\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[pdf_clickable_thumbnail id=\"123\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp> \u003C\u002Fp>\n\u003Ch3>Functions\u003C\u002Fh3>\n\u003Ch3>get_pdf_thumbnail_url\u003C\u002Fh3>\n\u003Cp>If you want to return PDF thumbnail URL you can use\u003C\u002Fp>\n\u003Cpre>\u003Ccode>get_pdf_thumbnail_url( $pdf_id )\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>it works similar to \u003Ccode>wp_get_attachment_url\u003C\u002Fcode> and it will return something like\u003C\u002Fp>\n\u003Cpre>\u003Ccode>https:\u002F\u002Fsite.com\u002Fwp-content\u002Fuploads\u002F2022\u002F01\u002Fexample.pdf.png\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>get_pdf_thumbnail_path\u003C\u002Fh3>\n\u003Cp>If you want to return PDF thumbnail URL you can use\u003C\u002Fp>\n\u003Cpre>\u003Ccode>get_pdf_thumbnail_path( $pdf_id )\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>it works similar to \u003Ccode>get_attached_file\u003C\u002Fcode> and it will return something like\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002Fwww\u002Fsite.com\u002Fwp-content\u002Fuploads\u002F2022\u002F01\u002Fexample.pdf.png\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>get_pdf_thumbnail_image_src\u003C\u002Fh3>\n\u003Cp>If you want to return PDF thumbnail url, width and height you can use\u003C\u002Fp>\n\u003Cpre>\u003Ccode>get_pdf_thumbnail_image_src( $pdf_id )\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>it works similar to \u003Ccode>wp_get_attachment_image_src\u003C\u002Fcode> and it will return something like\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[\n    0 => 'https:\u002F\u002Fsite.com\u002Fwp-content\u002Fuploads\u002F2022\u002F01\u002Fexample.pdf.png',\n    1 => 600,\n    2 => 800\n]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>get_pdf_thumbnail_image\u003C\u002Fh3>\n\u003Cp>If you want to return PDF thumbnail image tag you can use\u003C\u002Fp>\n\u003Cpre>\u003Ccode>get_pdf_thumbnail_image( $pdf_id )\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>it works similar to \u003Ccode>wp_get_attachment_image\u003C\u002Fcode> and it will return something like\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cimg src=\"https:\u002F\u002Fsite.com\u002Fwp-content\u002Fuploads\u002F2022\u002F01\u002Fexample.pdf.png\" width=\"600\" height=\"800\" alt=\"example\" loading=\"lazy\">\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp> \u003C\u002Fp>\n\u003Ch3>Hooks\u003C\u002Fh3>\n\u003Ch3>pdf_thumbnail_max_width\u003C\u002Fh3>\n\u003Cp>Maybe you want to change global PDF thumbnail max_width for a specific PDF file\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'pdf_thumbnail_max_width', function( $max_width, $pdf_id ){\n    if( $pdf_id == 123 ){\n        return 1024;\n    }\n    return $max_width;\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>pdf_thumbnail_max_height\u003C\u002Fh3>\n\u003Cp>Maybe you want to change global PDF thumbnail max_width for a specific PDF file\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'pdf_thumbnail_max_height', function( $max_height, $pdf_id ){\n    if( $pdf_id == 123 ){\n        return 768;\n    }\n    return $max_height;\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>pdf_thumbnail_quality\u003C\u002Fh3>\n\u003Cp>Maybe you want to change global PDF thumbnail quality for a specific PDF file\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'pdf_thumbnail_quality', function( $quality, $pdf_id ){\n    if( $pdf_id == 123 ){\n        return 100;\n    }\n    return $quality;\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>pdf_thumbnail_type\u003C\u002Fh3>\n\u003Cp>Maybe you want to change global PDF thumbnail file type for a specific PDF file\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'pdf_thumbnail_type', function( $type, $pdf_id ){\n    if( $pdf_id == 123 ){\n        return 'png'; \u002F\u002F or 'jpg'\n    }\n    return $type;\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>pdf_thumbnail_bgcolor\u003C\u002Fh3>\n\u003Cp>Maybe you want to change default PDF thumbnail background for a specific PDF file\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'pdf_thumbnail_bgcolor', function( $bgcolor, $pdf_id ){\n    if( $pdf_id == 123 ){\n        return 'black'; \u002F\u002F default is 'white'\n    }\n    return $bgcolor;\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>pdf_thumbnail_page_number\u003C\u002Fh3>\n\u003Cp>Maybe you want to PDF thumbnail page number for a specific PDF file\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'pdf_thumbnail_page_number', function( $page, $pdf_id ){\n    if( $pdf_id == 123 ){\n        return 1; \u002F\u002F default is 0\n    }\n    return $page;\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>pdf_thumbnail_filename\u003C\u002Fh3>\n\u003Cp>Maybe you want to PDF thumbnail filename for a specific PDF file\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'pdf_thumbnail_filename', function( $filename, $pdf_id ){\n    if( $pdf_id == 123 ){\n        return str_replace( '.pdf.png', '.png', $filename );\n    }\n    return $filename;\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>pdf_thumbnail_imagick\u003C\u002Fh3>\n\u003Cp>Maybe you want to add watermark to PDF thumbnail for a specific PDF file\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'pdf_thumbnail_imagick', function( $imagick, $pdf_id ){\n    if( $pdf_id == 123 ){\n        \u002F\u002F add your watermark here\n    }\n    return $imagick;\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>get_pdf_thumbnail_image_attributes\u003C\u002Fh3>\n\u003Cp>Maybe you want to change attributes for image tag from \u003Ccode>get_pdf_thumbnail_image\u003C\u002Fcode> function\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'get_pdf_thumbnail_image_attributes', function( $attr, $pdf_id ){\n    $attr['loading'] = 'eager';\n    return $attr;\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>pdf_thumbnail_generated\u003C\u002Fh3>\n\u003Cp>Maybe you want to do something after the thumbnail is generated\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_action( 'pdf_thumbnail_generated', function( $thumbnail_path, $pdf_id ){\n    \u002F\u002F do somthing with the local file $thumbnail_path\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Generates thumbnail for PDF files",2000,19502,86,6,"2025-12-01T22:46:00.000Z","6.9.4","3.0.1","5.6",[54,55,56,19,21],"creator","generator","image","https:\u002F\u002Fwp-speedup.eu","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpdf-thumbnail-generator.1.5.zip",98,2,"2025-12-06 00:00:00",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":72,"num_ratings":73,"last_updated":74,"tested_up_to":75,"requires_at_least":16,"requires_php":16,"tags":76,"homepage":16,"download_link":77,"security_score":24,"vuln_count":12,"unpatched_count":12,"last_vuln_date":25,"fetched_at":26},"pdf-thumbnails","PDF Thumbnails","2.2.0","stianlik","https:\u002F\u002Fprofiles.wordpress.org\u002Fstianlik\u002F","\u003Cp>This plugin hooks into the media manager and generates a thumbnail everytime a\u003Cbr \u002F>\nPDF is uploaded. Generated thumbnail is an image of the first page in the\u003Cbr \u002F>\nuploaded document and is named \u003Ccode>PDFNAME-thumbnail\u003C\u002Fcode>, where \u003Ccode>PDFNAME\u003C\u002Fcode> is replaced\u003Cbr \u002F>\nby uploaded document filename.\u003C\u002Fp>\n\u003Cp>Generated thumbnails are equivalent to \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FPost_Thumbnails\" rel=\"nofollow ugc\">featured\u003Cbr \u002F>\nimages\u003C\u002Fa> so that common thumbnail\u003Cbr \u002F>\nfunctions like \u003Ccode>get_post_thumbnail_id()\u003C\u002Fcode> can be used for PDF attachments. See\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FPost_Thumbnails\" rel=\"nofollow ugc\">Post Thumbnails\u003C\u002Fa> for information\u003Cbr \u002F>\non how you can use thumbnails efficiently.\u003C\u002Fp>\n\u003Cp>Integration with the javascript media API is not yet implemented, therefore, you\u003Cbr \u002F>\nmay need to reload the page before you can see generated thumbnail after an\u003Cbr \u002F>\nupload.\u003C\u002Fp>\n\u003Ch4>Shortcodes\u003C\u002Fh4>\n\u003Cp>It is possible to display a thumbnail linking to an uploaded PDF using the \u003Ccode>[pdf_thumbnails_link]\u003C\u002Fcode>\u003Cbr \u002F>\nshortcode. The following attributes are supported:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>id\u003C\u002Fcode> – Attachment ID (required)\u003C\u002Fli>\n\u003Cli>\u003Ccode>size\u003C\u002Fcode> – \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FPost_Thumbnails#Thumbnail_Sizes\" rel=\"nofollow ugc\">Thumbnail size\u003C\u002Fa> (optional)\u003C\u002Fli>\n\u003Cli>\u003Ccode>title\u003C\u002Fcode> – \u003Ca href=\"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTML\u002FGlobal_attributes#attr-title\" rel=\"nofollow ugc\">Anchor title attribute\u003C\u002Fa> (optional)\u003C\u002Fli>\n\u003Cli>\u003Ccode>target\u003C\u002Fcode> – \u003Ca href=\"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTML\u002FElement\u002Fa#attr-target\" rel=\"nofollow ugc\">Anchor target attribute\u003C\u002Fa> (optional)\u003C\u002Fli>\n\u003Cli>\u003Ccode>download\u003C\u002Fcode> – \u003Ca href=\"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTML\u002FElement\u002Fa#attr-download\" rel=\"nofollow ugc\">Anchor download attribute\u003C\u002Fa> (optional)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example 1: Display link to PDF with ID = 172 using \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FPost_Thumbnails#Thumbnail_Sizes\" rel=\"nofollow ugc\">default thumbnail size\u003C\u002Fa>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[pdf_thumbnails_link id=\"172\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Example 2: Display link to PDF with ID = 172 using thumbnail size (default 150×150)\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[pdf_thumbnails_link id=\"172\" size=\"thumbnail\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Thanks to \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fprofile\u002Fmirgcire\" rel=\"ugc\">mirgcire\u003C\u002Fa> for providing the first\u003Cbr \u002F>\nversion of the \u003Ccode>[pdf_thumbnails_link]\u003C\u002Fcode> shortcode.\u003C\u002Fp>\n\u003Ch4>Developer API\u003C\u002Fh4>\n\u003Cp>In most cases it should be sufficient to use built-in thumbnail functions from\u003Cbr \u002F>\nthe WordPress API (\u003Ccode>get_post_thumbnail\u003C\u002Fcode> and similar). If you need to modify the\u003Cbr \u002F>\nway thumbnails are generated, you can override image generation with\u003Cbr \u002F>\nthe \u003Ccode>pdf_thumbnails_generate_image_blob\u003C\u002Fcode> filter.\u003C\u002Fp>\n\u003Cp>Example 1: Increase resolution for all generated PDF thumbnails\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002F $blob is the current image blob (defaults to null, can be used for chaining)\n\u002F\u002F $filename is the PDF filename\nadd_action('pdf_thumbnails_generate_image_blob', function ($blob, $filename) {\n    $imagick = new Imagick();\n    $imagick->setResolution(200,200);\n    $imagick->readImage($filename);\n    $imagick->setIteratorIndex(0);\n    $imagick->setImageFormat('jpg');\n    return $imagick->getImageBlob();\n}, 10, 2);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>It is possible to modify generated thumbnail links using the \u003Ccode>pdf_thumbnails_link_shortcode\u003C\u002Fcode>\u003Cbr \u002F>\nfilter. The following attributes are available:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>$html\u003C\u002Fcode> – Generated HTML code to be displayed\u003C\u002Fli>\n\u003Cli>\u003Ccode>$attachmentId\u003C\u002Fcode> – Sanitized ID of the PDF attachment\u003C\u002Fli>\n\u003Cli>\u003Ccode>$size\u003C\u002Fcode> – Sanitized thumbnail size\u003C\u002Fli>\n\u003Cli>\u003Ccode>$atts\u003C\u002Fcode> – \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FShortcode_API#Handling_Attributes\" rel=\"nofollow ugc\">Shortcode attributes (not sanitized)\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ccode>$content\u003C\u002Fcode> – Shortcode content (not sanitized)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example 2: Wrap thumbnail link in figure and append caption\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter('pdf_thumbnails_link_shortcode', function ($html, $attachmentId, $size, $atts, $content) {\n    return \"\u003Cfigure>$html \u003Ccaption>Click to open image $attachmentId\u003C\u002Fcaption>\u003C\u002Ffigure>\";\n}, 10, 5);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>TODO\u003C\u002Fh3>\n\u003Cp>Add generated image to media browser after upload.\u003C\u002Fp>\n\u003Cp>Outline of an implementation based on the javascript media API:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002F New uploads\nwp.Uploader.queue.on('add', function (attachment) {\n\n    if (attachment.subtype !== 'pdf') {\n        return;\n    }\n\n    findThumbnailFor(attachment.ID).then(function (data) {\n\n        \u002F\u002F Add attachment thumbnail to browser\n        var attachment = wp.media.model.Attachment.get(id)\n        attachment.fetch().done(function () {\n            wp.media.editor.open().state().get('library').add(generated attachment)\n        });\n\n    });\n});\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Filter: ajax_query_attachments_args\u003C\u002Fp>\n","This plugin generates a thumbnail everytime you upload a PDF attachment. Generated thumbnail is an image of the first page in uploaded document.",1000,34402,92,9,"2016-10-24T20:49:00.000Z","4.6.30",[55,19,21],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpdf-thumbnails.2.2.0.zip",{"slug":79,"name":80,"version":81,"author":82,"author_profile":83,"description":84,"short_description":85,"active_installs":86,"downloaded":87,"rating":88,"num_ratings":89,"last_updated":90,"tested_up_to":91,"requires_at_least":92,"requires_php":93,"tags":94,"homepage":16,"download_link":97,"security_score":24,"vuln_count":12,"unpatched_count":12,"last_vuln_date":25,"fetched_at":26},"pdf-thumbnails-support-test","PDF Thumbnails Support Test","1.0.1","eclev91","https:\u002F\u002Fprofiles.wordpress.org\u002Feclev91\u002F","\u003Cp>This will quickly tell your server has all the software installed to take advantage of WordPress 4.7’s built-in PDF thumbnail generation. Some plugins may shim the functionality in other ways. This test only concerns the native WordPress functionality.\u003C\u002Fp>\n\u003Cp>From \u003Ca href=\"https:\u002F\u002Fsternerstuffdesign.com\" rel=\"nofollow ugc\">Sterner Stuff Design\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Tests:\u003Cbr \u002F>\n* ImageMagick\u003Cbr \u002F>\n* Imagick PECL Extension\u003Cbr \u002F>\n* GhostScript\u003Cbr \u002F>\n* Your WordPress Version\u003C\u002Fp>\n","Determine if your server is missing software for WordPress 4.7's native PDF thumbnail generator.",400,6534,68,5,"2018-04-12T19:07:00.000Z","4.9.29","4.7","5.4",[95,96,19,21],"attachments","media","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpdf-thumbnails-support-test.1.0.1.zip",{"slug":99,"name":100,"version":101,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":106,"downloaded":107,"rating":108,"num_ratings":109,"last_updated":110,"tested_up_to":111,"requires_at_least":92,"requires_php":16,"tags":112,"homepage":115,"download_link":116,"security_score":24,"vuln_count":12,"unpatched_count":12,"last_vuln_date":25,"fetched_at":26},"disable-pdf-thumbnails","Disable PDF Thumbnails","1.3","Makeworthy Media","https:\u002F\u002Fprofiles.wordpress.org\u002Fjennettefulda\u002F","\u003Cp>Disables WordPress from generating image thumbnails when you upload a PDF. This behavior was introduced in WordPress 4.7, so this plugin isn’t needed for any version older than that. Not all web hosts support the ability to generate images from PDFs either, so even if you have 4.7 or newer you might not need this.\u003C\u002Fp>\n","Disables WordPress from generating image thumbnails when you upload a PDF.",60,2322,100,1,"2021-07-23T15:07:00.000Z","5.8.13",[113,56,19,21,114],"disable","thumbnails","https:\u002F\u002Fwww.makeworthymedia.com\u002Fplugins\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisable-pdf-thumbnails.1.3.zip",{"slug":118,"name":119,"version":120,"author":121,"author_profile":122,"description":123,"short_description":124,"active_installs":10,"downloaded":125,"rating":108,"num_ratings":109,"last_updated":126,"tested_up_to":50,"requires_at_least":127,"requires_php":128,"tags":129,"homepage":131,"download_link":132,"security_score":108,"vuln_count":12,"unpatched_count":12,"last_vuln_date":25,"fetched_at":26},"rapls-pdf-image-creator","Rapls PDF Image Creator","1.0.9.2","rapls","https:\u002F\u002Fprofiles.wordpress.org\u002Frapls\u002F","\u003Cp>Rapls PDF Image Creator automatically generates thumbnail images when you upload PDF files to your WordPress Media Library. The plugin uses ImageMagick (Imagick PHP extension) to convert the first page of a PDF into an image.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automatic Generation\u003C\u002Fstrong> – Thumbnails are created instantly when PDFs are uploaded\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Featured Image Support\u003C\u002Fstrong> – Generated thumbnails are automatically set as the PDF’s featured image\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple Sizes\u003C\u002Fstrong> – Images are generated in all registered WordPress image sizes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Media Library Integration\u003C\u002Fstrong> – Display thumbnails instead of default PDF icons\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Editor Integration\u003C\u002Fstrong> – Insert PDF links with thumbnail images into your posts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bulk Generation\u003C\u002Fstrong> – Generate thumbnails for all existing PDFs at once\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Output\u003C\u002Fstrong> – Choose from JPEG, PNG, or WebP formats\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Upload a PDF file to the Media Library\u003C\u002Fli>\n\u003Cli>The plugin automatically converts the first page to an image\u003C\u002Fli>\n\u003Cli>The image is registered as the PDF’s featured image\u003C\u002Fli>\n\u003Cli>Use shortcodes or template functions to display the thumbnail\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Generated Files\u003C\u002Fh4>\n\u003Cp>When you upload \u003Ccode>my-document.pdf\u003C\u002Fcode>, the plugin creates:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>my-document-pdf.jpg (Full size cover image)\u003C\u002Fli>\n\u003Cli>my-document-pdf-1024×768.jpg (Large)\u003C\u002Fli>\n\u003Cli>my-document-pdf-300×225.jpg (Medium)\u003C\u002Fli>\n\u003Cli>my-document-pdf-150×150.jpg (Thumbnail)\u003C\u002Fli>\n\u003Cli>Additional sizes based on your theme settings\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Shortcodes\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>[rapls_pdf_thumbnail id=\"123\"]\u003C\u002Fcode> – Display thumbnail image\u003C\u002Fli>\n\u003Cli>\u003Ccode>[rapls_pdf_thumbnail_url id=\"123\"]\u003C\u002Fcode> – Output thumbnail URL\u003C\u002Fli>\n\u003Cli>\u003Ccode>[rapls_pdf_clickable_thumbnail id=\"123\"]\u003C\u002Fcode> – Thumbnail linked to PDF\u003C\u002Fli>\n\u003Cli>\u003Ccode>[rapls_pdf_download_link id=\"123\"]\u003C\u002Fcode> – Download link with thumbnail\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Template Functions\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>rapls_pic_get_thumbnail_url( $pdf_id, $size )\u003C\u002Fcode> – Get thumbnail URL\u003C\u002Fli>\n\u003Cli>\u003Ccode>rapls_pic_get_thumbnail_id( $pdf_id )\u003C\u002Fcode> – Get thumbnail attachment ID\u003C\u002Fli>\n\u003Cli>\u003Ccode>rapls_pic_get_thumbnail_image( $pdf_id, $size, $attr )\u003C\u002Fcode> – Get thumbnail HTML\u003C\u002Fli>\n\u003Cli>\u003Ccode>rapls_pic_has_thumbnail( $pdf_id )\u003C\u002Fcode> – Check if PDF has thumbnail\u003C\u002Fli>\n\u003Cli>\u003Ccode>rapls_pic_generate_thumbnail( $pdf_id, $force )\u003C\u002Fcode> – Generate thumbnail\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 5.0 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.4 or higher\u003C\u002Fli>\n\u003Cli>ImageMagick with Imagick PHP extension and PDF support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Most shared hosting providers have ImageMagick available. Check the Status tab in plugin settings to verify your server meets the requirements.\u003C\u002Fp>\n\u003Ch4>Using Template Functions\u003C\u002Fh4>\n\u003Cp>Display a PDF thumbnail in your theme:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$pdf_id = 123;\nif ( rapls_pic_has_thumbnail( $pdf_id ) ) {\n    echo rapls_pic_get_thumbnail_image( $pdf_id, 'medium' );\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Link thumbnail to PDF file:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$pdf_id = 123;\nif ( $thumbnail_id = get_post_thumbnail_id( $pdf_id ) ) {\n    echo '\u003Ca href=\"' . esc_url( wp_get_attachment_url( $pdf_id ) ) . '\" target=\"_blank\">';\n    echo wp_get_attachment_image( $thumbnail_id, 'medium' );\n    echo '\u003C\u002Fa>';\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Display All PDFs Attached to a Post\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>$pdfs = get_posts( array(\n    'post_type'      => 'attachment',\n    'post_mime_type' => 'application\u002Fpdf',\n    'post_parent'    => get_the_ID(),\n    'posts_per_page' => -1,\n) );\n\nforeach ( $pdfs as $pdf ) {\n    if ( rapls_pic_has_thumbnail( $pdf->ID ) ) {\n        printf(\n            '\u003Ca href=\"%s\">%s\u003C\u002Fa>',\n            esc_url( wp_get_attachment_url( $pdf->ID ) ),\n            rapls_pic_get_thumbnail_image( $pdf->ID, 'thumbnail' )\n        );\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Available Filter Hooks\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>rapls_pdf_image_creator_thumbnail_page\u003C\u002Fcode> – PDF page to use (default: 0)\u003C\u002Fli>\n\u003Cli>\u003Ccode>rapls_pdf_image_creator_thumbnail_max_width\u003C\u002Fcode> – Maximum width\u003C\u002Fli>\n\u003Cli>\u003Ccode>rapls_pdf_image_creator_thumbnail_max_height\u003C\u002Fcode> – Maximum height\u003C\u002Fli>\n\u003Cli>\u003Ccode>rapls_pdf_image_creator_thumbnail_quality\u003C\u002Fcode> – Image quality (1-100)\u003C\u002Fli>\n\u003Cli>\u003Ccode>rapls_pdf_image_creator_thumbnail_format\u003C\u002Fcode> – Output format\u003C\u002Fli>\n\u003Cli>\u003Ccode>rapls_pdf_image_creator_thumbnail_bgcolor\u003C\u002Fcode> – Background color\u003C\u002Fli>\n\u003Cli>\u003Ccode>rapls_pdf_image_creator_thumbnail_image_attributes\u003C\u002Fcode> – Image tag attributes\u003C\u002Fli>\n\u003Cli>\u003Ccode>rapls_pdf_image_creator_custom_insert_html\u003C\u002Fcode> – Custom insert HTML\u003C\u002Fli>\n\u003Cli>\u003Ccode>rapls_pdf_image_creator_hide_thumbnails_in_library\u003C\u002Fcode> – Hide in Media Library\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Available Action Hooks\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>rapls_pdf_image_creator_before_generate\u003C\u002Fcode> – Before thumbnail generation\u003C\u002Fli>\n\u003Cli>\u003Ccode>rapls_pdf_image_creator_after_generate\u003C\u002Fcode> – After successful generation\u003C\u002Fli>\n\u003Cli>\u003Ccode>rapls_pdf_image_creator_generation_failed\u003C\u002Fcode> – When generation fails\u003C\u002Fli>\n\u003C\u002Ful>\n","Auto-generate thumbnail images from uploaded PDF files using ImageMagick. Set as Featured Image and insert into posts.",375,"2026-02-20T11:33:00.000Z","5.0","7.4",[130,56,96,19,21],"featured-image","https:\u002F\u002Fraplsworks.com\u002Frapls-pdf-image-creator-guide\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frapls-pdf-image-creator.1.0.9.2.zip",{"attackSurface":134,"codeSignals":165,"taintFlows":172,"riskAssessment":173,"analyzedAt":180},{"hooks":135,"ajaxHandlers":161,"restRoutes":162,"shortcodes":163,"cronEvents":164,"entryPointCount":12,"unprotectedCount":12},[136,142,146,149,152,155,157],{"type":137,"name":138,"callback":139,"file":140,"line":141},"action","admin_notices","closure","hooks.php",11,{"type":143,"name":144,"callback":139,"file":140,"line":145},"filter","mime_types",24,{"type":143,"name":147,"callback":139,"file":140,"line":148},"upload_mimes",36,{"type":143,"name":150,"callback":139,"priority":10,"file":140,"line":151},"wp_generate_attachment_metadata",49,{"type":137,"name":153,"callback":139,"file":140,"line":154},"deleted_post",67,{"type":143,"name":156,"callback":139,"priority":10,"file":140,"line":72},"wp_get_attachment_image_src",{"type":137,"name":138,"callback":158,"file":159,"line":160},"_upladobe_version","upladobe.php",31,[],[],[],[],{"dangerousFunctions":166,"sqlUsage":167,"outputEscaping":169,"fileOperations":12,"externalRequests":12,"nonceChecks":12,"capabilityChecks":12,"bundledLibraries":171},[],{"prepared":12,"raw":12,"locations":168},[],{"escaped":12,"rawEcho":12,"locations":170},[],[],[],{"summary":174,"deductions":175},"The static analysis of \"upladobe\" v1.0.0 reveals a remarkably clean codebase from a security perspective. There are no identified AJAX handlers, REST API routes, shortcodes, or cron events, resulting in a zero attack surface. Furthermore, the code demonstrates excellent security practices by not using any dangerous functions, performing all SQL queries using prepared statements, and properly escaping all output. File operations and external HTTP requests are also absent, and crucially, there are no nonces or capability checks implemented. This absence of checks, while not directly indicating a vulnerability in this specific analysis, represents a potential weakness if the plugin were to evolve and introduce such functionalities without proper security considerations.\n\nThe vulnerability history for \"upladobe\" is equally impressive, with no known CVEs, past or present. This suggests either a long history of diligent security maintenance or that the plugin has not been a target for exploitation due to its limited functionality or obscurity. The lack of any recorded vulnerabilities across severity levels further reinforces this positive security posture. However, the complete absence of nonces and capability checks in the static analysis, coupled with the lack of any recorded vulnerabilities, could be interpreted in two ways: either the plugin is so simple that these checks are genuinely unnecessary, or it's a significant oversight that will become a problem as the plugin grows or is integrated into more complex systems.\n\nIn conclusion, \"upladobe\" v1.0.0 exhibits strong adherence to secure coding practices as evidenced by the static analysis, with no exploitable flaws identified. The lack of a vulnerability history further bolsters confidence in its current security. The primary area of concern lies in the complete absence of nonces and capability checks, which, while not a direct vulnerability in the current state, signifies a potential security gap if the plugin's functionality expands. This presents a trade-off between a currently secure, simple plugin and potential future risks if not managed proactively.",[176,178],{"reason":177,"points":89},"No nonce checks implemented",{"reason":179,"points":89},"No capability checks implemented","2026-03-17T00:17:05.461Z",{"wat":182,"direct":187},{"assetPaths":183,"generatorPatterns":184,"scriptPaths":185,"versionParams":186},[],[],[],[],{"cssClasses":188,"htmlComments":189,"htmlAttributes":190,"restEndpoints":191,"jsGlobals":192,"shortcodeOutput":193},[],[],[],[],[],[]]