This class is a slim wrapper around wkhtmltoimage.
Author: Michael Härtl (haertl.mike@gmail.com)
Example #1
0
 /**
  * Create an object
  *
  * @param  ContainerInterface $container
  * @param  string $requestedName
  * @param  null|array $options
  * @return object
  * @throws ServiceNotFoundException if unable to resolve the service.
  * @throws ServiceNotCreatedException if an exception is raised when
  *     creating a service.
  * @throws ContainerException if any other error occurs
  */
 public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
 {
     $config = $container->get('config')['phpwkhtmltopdf'];
     $image = new Image(isset($config['images']) ? $config['images'] : null);
     if (isset($options) && isset($options['url'])) {
         $image->setPage($options['url']);
     }
     return $image;
 }
Example #2
0
 public function testCanUseXvfbRun()
 {
     $inFile = $this->getHtmlAsset();
     $outFile = $this->getOutFile('png');
     $binary = $this->getBinary();
     $image = new Image(array('binary' => $binary, 'commandOptions' => array('enableXvfb' => true)));
     $this->assertInstanceOf('mikehaertl\\wkhtmlto\\Image', $image->setPage($inFile));
     $this->assertTrue($image->saveAs($outFile));
     $tmpFile = $image->getImageFilename();
     $command = (string) $image->getCommand();
     $this->assertEquals("xvfb-run --server-args=\"-screen 0, 1024x768x24\" {$binary} '{$inFile}' '{$tmpFile}'", $command);
     unlink($outFile);
 }
Example #3
0
 protected function setScreenshot($domain)
 {
     $options = ["type" => "jpg", "ignoreWarnings" => true];
     $image = new Image($this->domain);
     $image->setOptions($options);
     $imageURL = 'images/' . $domain . '.jpg';
     $image->saveAs($imageURL);
     if (is_readable($imageURL)) {
         return $imageURL;
     }
     return false;
 }