34 private \ILIAS\ResourceStorage\Services
$irss;
41 $this->irss = $DIC->resourceStorage();
42 $this->postscript_available = (defined(
'PATH_TO_GHOSTSCRIPT') && PATH_TO_GHOSTSCRIPT !==
"");
43 $this->imagick_available = class_exists(
'Imagick');
53 if (!$this->postscript_available) {
56 $revision = $this->irss->manage()->getCurrentRevision($rid);
57 $info = $revision->getInformation();
58 if ($info->getMimeType() !== MimeType::APPLICATION__PDF) {
61 $consumer = $this->irss->consume()->stream($rid);
62 $path_to_pdf = $consumer->getStream()->getMetadata(
'uri');
68 if (!$this->postscript_available && !$this->imagick_available) {
73 if ($this->imagick_available) {
76 $imagick =
new Imagick($path_to_pdf);
77 $pages = $imagick->getNumberImages();
85 if ($this->postscript_available) {
86 $arg =
"-q -dNODISPLAY -dNOSAFER -c \"($path_to_pdf) (r) file runpdfbegin pdfpagecount = quit\";";
88 if (!isset($return[0]) || ($pages = (
int) $return[0]) === 0) {
ILIAS ResourceStorage Services $irss
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
bool $postscript_available
Class ResourceIdentification.
static execQuoted(string $cmd, ?string $args=null)
extractAmountOfPagesByRID(ResourceIdentification $rid)
extractAmountOfPagesByPath(string $path_to_pdf)