Convert PDF Files to Images in your browser when dropped into the media library.
Includes Mozilla pdf.js for browser pdf rendering.
PDF-Contents: cc-by Creative Commons
- Head over to releases
- Download 'pdf-renderer.zip'
- Upload and activate it like any other WordPress plugin
- AutoUpdate will run as long as the plugin is active
composer require mcguffin/pdf-renderer
- cd into your plugin directory
- $
git clone [email protected]:mcguffin/pdf-renderer.git
- $
cd pdf-renderer
- $
npm install
- $
npm run dev
Use this to overrule width of generated images. Uses the largest image width known to WP by default. (e.g. the Large size from Settings > Media).
add_filter( 'pdf_renderer_image_width', function( $width ) {
// never underestimate a good integer.
return 12345;
});
Type of generated images. Possible values are image/png
and image/jpeg
. default is image/png
.
To override the JPEG-Quality you can use the WP Core filter jpeg_quality
. The string pdf_renderer
is passed as a second argument to apply_filters()
.
// we want jpeg ...
add_filter( 'pdf_renderer_image_type', function( $type ) {
return 'image/jpeg';
});
// ... and a specific treatment for PDFs.
add_filter( 'jpeg_quality', function( $quality, $context = '' ) {
if ( 'pdf_renderer' === $context ) {
// Everybody loves artifacts.
return 1;
}
return $quality;
}, 10, 2);
npm scripts:
npm run audit
: Run phpcs auditnpm run build
: Build css and js from sourcesnpm run dev
: Watch css and js source dirsnpm run dashicons
: Generate dashicons scss variables from sourcenpm run i18n
: generate.pot
filenpm run rollback
: remove last commit (local and remote – use with caution!)npm run test
: run unit tests against PHP 7.4 and 8.3npm run test:edge
: run unit tests against PHP 8.3 onlynpm run test:legacy
: run unit tests against PHP 7.4 only
Unit tests are run in wordpress/env, which is basically a docker container. Docker Desktop is required.
Unit tests are run against PHP 7.4 (legacy) and 8.3 (edge).
Run them all:
npm run test
Run edge tests only:
npm run test:edge
Configure edge test and run something in wp-cli in the docker container:
npm run test:set-edge
npm run test:reset-env
wp-env run cli wp core version
> 6.7.1