WP_Image_Editor_Imagick::pdf_load_source(): true|WP_Error

In this article

Load the image produced by Ghostscript.

Description

Includes a workaround for a bug in Ghostscript 8.70 that prevents processing of some PDF files when use-cropbox is set.

Return

true|WP_Error

Source

protected function pdf_load_source() {
	$filename = $this->pdf_setup();

	if ( is_wp_error( $filename ) ) {
		return $filename;
	}

	try {
		/*
		 * When generating thumbnails from cropped PDF pages, Imagemagick uses the uncropped
		 * area (resulting in unnecessary whitespace) unless the following option is set.
		 */
		$this->image->setOption( 'pdf:use-cropbox', true );

		/*
		 * Reading image after Imagick instantiation because `setResolution`
		 * only applies correctly before the image is read.
		 */
		$this->image->readImage( $filename );
	} catch ( Exception $e ) {
		// Attempt to run `gs` without the `use-cropbox` option. See #48853.
		$this->image->setOption( 'pdf:use-cropbox', false );

		$this->image->readImage( $filename );
	}

	return true;
}

Changelog

VersionDescription
5.6.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.