Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 7 Nächste Version anzeigen »

Bilder werden im Kontext des print-core speziell behandelt. Statt einem base64-Bild oder einem Bildpfad in dem src-Attributes zu definieren, sollte \Brandbox\PrintCore\PrintDocument\Image\Manager::populateImage verwendet werden. Diese Funktion gibt eine URL mit einem Request für das Ausliefern des Bilds zurück. Hintergrund ist, dass in der Webdarstellung Bilder wie .tiff in .png umgewandelt werden müssen und beim Generieren des PDFs die höchste Auflösung ausgeliefert werden sollte.

Es gibt drei verschieden Fälle:

  • Web → Das Bild wird für das Web konvertiert. Statt .tiff-Dateien werden zum Beispiel .png-Dateien ausgeliefert.
  • Puppeteer → Es wird nur ein transparentes Platzhalter-Bild mit der angefragten Größe ausgeliefert
  • PdfReactor → Es wird das Bild im Originalformat in der angefragten Größe ausgeliefert
View\PrintImage
use Brandbox\Framework\Base\File;
use Brandbox\PrintCore\PrintDocument\Image as PrintDocumentImage;
use Brandbox\PrintStyleguide;

public function get(Render\Lib\Struct\ScopeElement $scope): PrintStyleguide\Entity\PrintImage
{
    $element = new PrintStyleguide\Entity\PrintImage();
    $this->image($element, $scope->settings);

    return $element;
}

private function image(PrintStyleguide\Entity\PrintImage $element, array $settings): void
{    
	$file = $this->getFile($settings['image']);

    if ($file->exists()) {
        $this
			->staticController(PrintDocumentImage\Manager::class)
			->populateImage($element, $file, [])
		;
    }
}

private function getFile(string $path): File\lib\entity\mamFile
{
    return $this
        ->staticController(File\Manager::class)
        ->findByPath($path, true)
    ;
}
  • Keine Stichwörter