This plugin generates a thumbnail everytime you upload a PDF attachment. Generated thumbnail is an image of the first page in uploaded document.
Évaluations
4.6
Mis à jour récemment
October 24, 2016
Version
2.2.0
Installations actives
1K

This plugin hooks into the media manager and generates a thumbnail everytime a PDF is uploaded. Generated thumbnail is an image of the first page in the uploaded document and is named PDFNAME-thumbnail, where PDFNAME is replaced by uploaded document filename.

Generated thumbnails are equivalent to featured images so that common thumbnail functions like get_post_thumbnail_id() can be used for PDF attachments. See Post Thumbnails for information on how you can use thumbnails efficiently.

Integration with the javascript media API is not yet implemented, therefore, you may need to reload the page before you can see generated thumbnail after an upload.

Shortcodes

It is possible to display a thumbnail linking to an uploaded PDF using the [pdf_thumbnails_link] shortcode. The following attributes are supported:

Example 1: Display link to PDF with ID = 172 using default thumbnail size

[pdf_thumbnails_link id="172"]

Example 2: Display link to PDF with ID = 172 using thumbnail size (default 150×150)

[pdf_thumbnails_link id="172" size="thumbnail"]

Thanks to mirgcire for providing the first version of the [pdf_thumbnails_link] shortcode.

Developer API

In most cases it should be sufficient to use built-in thumbnail functions from the WordPress API (get_post_thumbnail and similar). If you need to modify the way thumbnails are generated, you can override image generation with the pdf_thumbnails_generate_image_blob filter.

Example 1: Increase resolution for all generated PDF thumbnails

// $blob is the current image blob (defaults to null, can be used for chaining) // $filename is the PDF filename add_action('pdf_thumbnails_generate_image_blob', function ($blob, $filename) { $imagick = new Imagick(); $imagick->setResolution(200,200); $imagick->readImage($filename); $imagick->setIteratorIndex(0); $imagick->setImageFormat('jpg'); return $imagick->getImageBlob(); }, 10, 2);

It is possible to modify generated thumbnail links using the pdf_thumbnails_link_shortcode filter. The following attributes are available:

  • $html – Generated HTML code to be displayed
  • $attachmentId – Sanitized ID of the PDF attachment
  • $size – Sanitized thumbnail size
  • $attsShortcode attributes (not sanitized)
  • $content – Shortcode content (not sanitized)

Example 2: Wrap thumbnail link in figure and append caption

add_filter('pdf_thumbnails_link_shortcode', function ($html, $attachmentId, $size, $atts, $content) { return "<figure>$html <caption>Click to open image $attachmentId</caption></figure>"; }, 10, 5);

TODO

Add generated image to media browser after upload.

Outline of an implementation based on the javascript media API:

// New uploads wp.Uploader.queue.on('add', function (attachment) { if (attachment.subtype !== 'pdf') { return; } findThumbnailFor(attachment.ID).then(function (data) { // Add attachment thumbnail to browser var attachment = wp.media.model.Attachment.get(id) attachment.fetch().done(function () { wp.media.editor.open().state().get('library').add(generated attachment) }); }); });

Filter: ajax_query_attachments_args

Gratuitsur le plan Creator
En procédant à l’installation, vous acceptez les Conditions d’utilisation de WordPress.com ainsi que les Conditions de l’extension tierce.
Installations actives
1K
Testé jusqu’à version
4.6.29
Cette extension est disponible en téléchargement pour être utilisée sur votre installation WordPress auto-hébergée.