Zum Inhalt springen

Pdf Thumbnail in Frontend

Erstellt am 11. August 2006 · 9 Antworten · letzte Antwort am 30. Oktober 2008

Tags: Frage

FalkWalter ·

Servus,

vielen Dank schon mal vorab!

Ich würde gerne in einer DAM-basierenden Publikationsliste Thumbs der PDFs anzeigen. Ghostscript ist installiert, im Backend werden die Thumbs auch angezeigt.

Im Frontend allerdings wird zwar Ghostscript gestartet - allerdings gibt er mir nur den Text "pdf" aus.

Den Thumb generiere ich ähnlich wie in tx_dam_download:

$TSconf = $lConf['image.'];
$TSconf['file.']['width'] = $this->piVars['showUid'] ? $this->conf['dWidth"'] : $this->conf[$this->tmp]['lWidth'];

$TSconf['file'] = $this->internal['currentRow']['file_path'].$this->internal['currentRow']['file_name'];

$img = $this->cObj->IMAGE($TSconf);

Vielen Dank für Tipps!

Grüßle
Falk

P.s.: Nicht soooo wichtig, aber schön wäre es, auch Powerpoint-Dateien (ppt und pps) mit einem Thumb zu versehen... Hat damit jemand Erfahrung?

Nachtrag: Es funktioniert nun. Hatte wohl was in meiner TS-setup falsch... Falls aber jemand noch ne Idee für die Powerpoints hat...[/b]

FalkWalter ·

Hmmmmmm... Nun stellt sich noch die Frage, wie ich die komplette erste Seite bekomme und nicht nur einen Ausschnitt... habe in der TSRef nichts gefunden. Auch IMG_RESOURCE gibt nur einen Teil zurück.

Im Backend habe ich ebenfalls nur einen Ausschnitt. Das ist mir vorher nur nicht aufgefallen.

Auch im Buch "TYPO3 - Handbuch für Entwickler", wo ab Seite 328 beschrieben wird, wie man ein Menü aus Logos erstellen kann, werden diese Logos nur zum Teil dargestellt. (sieht man auch auf http://www.deutsche-windindustrie.de/unternehmen/unternehmen_der_windbranche/index.html

Sieht also so aus, als müsste man hier direkt an Ghostscript ran? Oder an die thumbs.php vom core?

Gibt es hier Erfahrungen?

Grüßle
Falk

Himmi ·

Hi @all,

nachdem ich nun nach langem Kampf ghostscript auf einem Management-Server installiert habe und im Install-Tool auch die PDF-Generierung funktioniert, habe ich nun ein neues Problem, was ich mal hier her poste, weil es ähnlich zum Thrade ist:

Seiteninhaltselement: Dateilink
Dateien: PDF
gewähltes Layout: 2

Die Thumbnails zeigen jedoch nur einen Ausschnitt der PDF-Seite und auch die Position ist versetzt.

Kann man irgendwo einstellen, dass ein verkleinertes JPG von der gesamten Seite dargestellt wird?

Gibt es ferner die Möglichkeit, die Größe der Thumbnails einzustellen?

Vorab vielen Dank für einen Tipp...

Himmi

Himmi ·

Hi,

hat sich zunächst erledigt.

Mit graphicsmagick werden Thumbnails aus PDF-Dateien einwandfrei und komplett angezeigt. Mit imagemagick nicht.

😃 Himmi

Ferdi ·

Hallo,

ich habe auch ein Problem mit den Thumbs aus pdf-Dateien.
Habe eine Publikationsliste mit Filelinks erstellt, dh.

Inhaltselement: Dateilink
Dateien: pdf
gewähltes Layout: 2

Bei hochformatigen pdf funktioniert die thumb-Generierung einwandfrei, bei einem pdf mit Querformat wird das jpg-Bild, also der thumb, gestreckt, so dass er die gleiche höhe und Breite hat wie der hochformat-thumb.

Finde partout die stelle nicht, an der ich diesen effekt unterbinden kann.

(bin übrigens ziemlicher typo3-Neuling)

steffenk ·
Himmi schrieb

Hi,

hat sich zunächst erledigt.

Mit graphicsmagick werden Thumbnails aus PDF-Dateien einwandfrei und komplett angezeigt. Mit imagemagick nicht.

😃 Himmi

nö, geht auch mit IM. Im BE erledigt thumb.php diesen Job.

Nimm doch mal ein Inhaltselement "Nur Bilder" und lade ein pdf hoch 😉

Ferdi ·

Der Effekt ist der gleiche, ebenfalls gestreckt.
Ich hatte auch vermutet, dass es an meiner pdf-generierung liegt, habe aber das gleiche pdf auch einmal auf einer anderen typo-website hochgeladen und da funktionierte es ohne streckung.

habe die generierten thumbs unter typo3temp/pics aufgestöbert. Bereits die jpg-Bilder sind gestreckt.

JBrooks ·

Hab auch das selbe Problem mit imagemagick. Die PDF´s sind von Haus aus nach dem Upload schon zugeschnitten. Man sieht nur den rechten unteren Teil. Die Maße von dem PDF sind 1191x842 -> sprich Querformat. Wenn ich die pdf per FTP hochlade und dann per imagemagick auf eine bestimmte größe bringe, seh ich auch immer nur den teilausschnitt. mit einem quadratischen PDF funktioniert es :o

JBrooks ·

hab den Fehler nun gefunden. Bei Mittwald war bei mir standardmässig gdlib eingebunden. Ich hab die Angaben in meiner localconf.php nun so angepasst, dass ich die gdlib2 hab. Damit bekomme ich das ganze PDF angezeigt.

Für diejenigen die bei Mittwald sind, hier die entsprechenden Einstellungen:

$TYPO3_CONF_VARS['GFX']["im_path"] = '/usr/local/activegm/bin/';	//  Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS['GFX']["im_path_lzw"] = '/usr/local/activegm/bin/';	//  Modified or inserted by TYPO3 Install Tool.
$TYPO3_CONF_VARS["GFX"]["im_version_5"] = 'gm';
$TYPO3_CONF_VARS["GFX"]["im_v5effects"] = '1';
$TYPO3_CONF_VARS["GFX"]["TTFdpi"] = '96';
$TYPO3_CONF_VARS["GFX"]["jpg_quality"] = '85';
$TYPO3_CONF_VARS['GFX']["gdlib_png"] = '0';
$TYPO3_CONF_VARS['GFX']['gdlib_2'] = '1';
fragile74 ·

Hab auch pPRobleme mit den PDF-Thumbs (nur untere linke Ecke sichtbar), GM funktioniert bei mir gar nicht :S... gibt es keine Lösung, ImageMagick beizubringen, eine gesamte Seite als Thumb zu generieren ?

hier geschieht die Thumb-Generierung im TYPO3-Core :

			// ... so we passed the extension test meaning that we are going to make a thumbnail here:
			if (!$this->size) 	$this->size = $this->sizeDefault;	// default

				// I added extra check, so that the size input option could not be fooled to pass other values. That means the value is exploded, evaluated to an integer and the imploded to [value]x[value]. Furthermore you can specify: size=340 and it'll be translated to 340x340.
			$sizeParts = explode('x', $this->size.'x'.$this->size);	// explodes the input size (and if no "x" is found this will add size again so it is the same for both dimensions)
			$sizeParts = array(t3lib_div::intInRange($sizeParts[0],1,1000),t3lib_div::intInRange($sizeParts[1],1,1000));	// Cleaning it up, only two parameters now.
			$this->size = implode('x',$sizeParts);		// Imploding the cleaned size-value back to the internal variable
			$sizeMax = max($sizeParts);	// Getting max value

				// Init
			$outpath = PATH_site.$this->outdir;

				// Should be - ? 'png' : 'gif' - , but doesn't work (ImageMagick prob.?)
				// René: png work for me
			$thmMode = t3lib_div::intInRange($TYPO3_CONF_VARS['GFX']['thumbnails_png'],0);
			$outext = ($ext!='jpg' || ($thmMode & 2)) ? ($thmMode & 1 ? 'png' : 'gif') : 'jpg';

			$outfile = 'tmb_'.substr(md5($this->input.$this->mtime.$this->size),0,10).'.'.$outext;
			$this->output = $outpath.$outfile;

			if ($TYPO3_CONF_VARS['GFX']['im'])	{
					// If thumbnail does not exist, we generate it
				if (!@file_exists($this->output))	{
/*					if (strstr($this->input,' ') || strstr($this->output,' '))	{
						$this->errorGif('Spaces in','filepath',basename($this->input));
					}
*/						// 16 colors for small (56) thumbs, 64 for bigger and all for jpegs
					if ($outext=='jpg')	{
						$colors = '';
					} else {
						$colors = ($sizeMax>56)?'-colors 64':'-colors 16';
					}
					$parameters = '-sample '.$this->size.' '.$colors.' '.$this->wrapFileName($this->input.'[0]').' '.$this->wrapFileName($this->output);
					$cmd = t3lib_div::imageMagickCommand('convert', $parameters);
					exec($cmd);
					if (!@file_exists($this->output))	{
						$this->errorGif('No thumb','generated!',basename($this->input));
					}
				}