Home / Forum / PDF -> Bilder und Zellenformatierung

PDF -> Bilder und Zellenformatierung

Um Zugang zu den Foren zu erhalten, müssen Sie angemeldet sein

Autor Nachricht

fabian schoen

Registriert seit: 28.07.2006

Beiträge: 21

Montag, 16. Oktober 2006 22:36:42

Abend

Ja, ich wurde von Thomas "gewarnt", habe es aber trotzdem versucht

Gemaess dem Tutorial http://ez.no/products/ez_publish/...ntation/incoming/pdf_export_tutorial habe ich
- 2 Eintrage in der override.ini.append Datei gemacht:

[item_pdf]
Source=node/view/pdf.tpl
MatchFile=full/item_pdf.tpl
Subdir=templates
Match[class_identifier]=item

[item_image_pdf]
Source=content/pdf/embed.tpl
MatchFile=full/item_image_pdf.tpl
Subdir=templates
Match[class_identifier]=image


- Die beiden TPL erstellt. In item_image.tpl steht:
{default image_class=large
        alignment=false()
        hspace=false()
        border_size=0}
{let image_attribute=$object.data_map.image image_content=$image_attribute.content}
 {let image=$image_content[$image_class]}
 
      {pdf(image,hash(src,$image.full_path,
                      width,$image.width,
                      height,$image.height,
                      border,$border_size))}
 
 {/let}
{/let}
{/default}



----
1. Bild anzeigen
----
Ich kriege es nicht gebacken, dass das Bild angezeigt wird.
In item_pdf.tpl ist der Aufruf:
{pdf(image,hash('src',$itemImage.object.data_map.image.content[original].full_path|ezroot,
                      width,30,
                      height,40,
                      border,3))

was kein Bild im PDF generiert.
Folgender Code gibt mir die korrekte URL wieder:
{pdf(text,$itemImage.object.data_map.image.content[original].full_path|ezroot|wash(pdf) )}


Ist mein Aufruf so falsch?
Ich habe auch schon den Pfad des Bildes fest eingesetzt ohne Resultat.


----
2. Zellen formatieren
----
Zusaetzlich im PDF moechte ich noch eine Tabelle ausgeben. Mit folgendem Code habe ich es versucht
{set-block variable=$tblSidebars}
  <tr>
    <td>{pdf(text,"Die sprunghafte Zunahme von Blogs wird nach Ansicht von PR-Experten "|wash(pdf))}
	</td>	
 <td>{pdf(text,"Die sprunghafte Zunahme von Blogs wird nach "|wash(pdf))}
	</td>	
  </tr>
{/set-block}

{pdf(table, $tblSidebars, hash('width',500) )}


Die Tabelle wird mir ausgegeben, aber wie kann ich nun da Einfluss nehmen auf die Zellengroesse, dass zum Beispiel die erste Zelle mit der Groesse 100 ausgegeben wird?
Ebenfalls klappt das Alignment nicht. Habe Alles versucht. Auch schon diese Tipps hier http://ez.no/community/forum/setu...rts_how_to_align_content_in_cells__3
Aber die Tabelle aendert sich einfach nicht.

Kann mir Jemand einen Tipp geben? Hat Jemand Erfahrung mit dem PDF generieren. Denke, dass meine "Anforderungen" nicht zu hoch sein sollten an das PDF generieren, oder?


gruss
fabian
ezPublish 3.6.10


PS: Kann man eigentlich PDF Templates auch sinnvoll debuggen? Wenn "Debug Output" einschalten ist, zeigt es ja nur die benutzten Templates an.

Björn Dieding

Björn Dieding

Registriert seit: 06.10.2002

Beiträge: 110

Dienstag, 17. Oktober 2006 21:45:52

pdf debug info steht in

var/log/*.log

Looking for a new job? http://www.xrow.de/xrow-GmbH/Jobs
-----------------------------------------------------------------------------
GMT +01:00 Hannover, Germany
http://www.xrow.com Lösungen für Internet, Intranet und Extranet.
http://www.hostingezpublish.com eZ Publish Hosting

Felix Woldt

Bild Felix Woldt

Registriert seit: 31.01.2006

Beiträge: 353

Dienstag, 17. Oktober 2006 21:49:08

Hallo Fabian,

mir ist gerade aufgefallen, das bei dem Aufruf am schluss die schließende Klammer fehlt

{pdf(image,hash('src',$itemImage.object.data_map.image.content[original].full_path|ezroot,
                      width,30,
                      height,40,
                      border,3))

}


Ansonsten kann ich dir da auch nicht weiterhelfen.
Na dann noch viel Spaß beim PDF erstellen
Gruß Felix

http://www.jac-systeme.de - Individuelle WEB-Lösungen
--
http://www.CJW-Network.com/de - Developers united in eZ Publish
http://projects.ez.no/cjw_newsletter - eZ Publish Newsletter Lösung

fabian schoen

Registriert seit: 28.07.2006

Beiträge: 21

Donnerstag, 19. Oktober 2006 21:44:10

@Björn
Die Debugsettings sind
Debug output
Template debug
Inline template debug
List of used templates
Ja, da habe ich auch schon nachgeschaut und Nichts gefunden.
Also die Dateien schon, aber Nichts auffaelliges darin:
-notice.log:

...
[ Oct 19 2006 21:26:37 ] [84.227.234.85] :
PDF: Changed font.
[ Oct 19 2006 21:26:37 ] [84.227.234.85] eZPDF::modify:
PDF: Added Image
...

Vorher und nachfolgend keine Fehlermeldung. Eben, er schreibt sogar, dass das Bild hinzugefuegt wurde.


-warning.log:
...[ Oct 19 2006 21:26:37 ] [84.227.234.85] Timing Point: Module start 'content'
[ Oct 19 2006 21:26:37 ] [84.227.234.85] PHP:
Undefined index: align in ... /lib/ezpdf/classes/class.ezpdftable.php on line 1201
... 



-error.log:
Rein gar Nichts von diesem Datum und Uhrzeit


@felix
Leider war dies nur ein Kopierfehler


Kann ich sonst noch irgendwo etwas versuchen, damit mir das Bild angezeigt wird?


gruss
fabian
3.6.10

Björn Dieding

Björn Dieding

Registriert seit: 06.10.2002

Beiträge: 110

Dienstag, 24. Oktober 2006 20:37:20

{pdf(image,hash('src', 'test.gif' ))}

Probier mal dies und leg das bild in ez root.

Probiermal den ezroot zu entfernen

'image/test.gif'

vs

'/image/test.gif'

Probiers mal mit einem anderen bild.

Looking for a new job? http://www.xrow.de/xrow-GmbH/Jobs
-----------------------------------------------------------------------------
GMT +01:00 Hannover, Germany
http://www.xrow.com Lösungen für Internet, Intranet und Extranet.
http://www.hostingezpublish.com eZ Publish Hosting

fabian schoen

Registriert seit: 28.07.2006

Beiträge: 21

Mittwoch, 25. Oktober 2006 23:54:56

Was mir aufgefallen ist, ist, dass im notice.log so oder so steht, dass das Bild hinzugefuegt wurde. Egal, welcher Pfad angegeben ist. Bemerkt habe ich dies, nachdem ich Deinen Vorschlag

{pdf(image,hash('src', 'test.gif' ))}

eingefuegt habe ohne das Bild auf den Webserver zu laden.

test.gif habe ich dann direkt in das "EZ root" Verzeichnis kopiert und tatataaaa: Es wird dargestellt.

Ich koennte mich gruen und blau aergern. Sobald man den Aufruf ohne "...|ezroot" macht, dann klappt es.

So, jetzt kann ich weiterspielen. Bis spaeter

gruss
fabian

fabian schoen

Registriert seit: 28.07.2006

Beiträge: 21

Sonntag, 12. November 2006 22:04:31

Guten Tag

Ich glaube, dass ich mich wohl mit PDF nie im Kegelclub treffen werde
Entweder ich verstehe das PDF Konzept in ezPublish nicht ganz oder das System macht nicht wirklich, was es sollte.

Schlussendlich moechte ich "einfach" auf einem A4 PDF
- auf der linken Seite Text haben.
- Dieser Text muss in "Tabellenform" sein.
- Rechts davon ein groesseres Bild.
- Unter dem Text und dem Bild rechtsbuendig 3 kleinere Bilder

Nach mehreren Versuchen bin ich bei folgender Loesung gelandet:
Das Grosse Bild wird hiermit ausgegeben

{pdf( 'image', hash( 'src', $itemImages[0].object.data_map.image.content[id_large].full_path,
						'width',240,
						'height',360,
                     'align', 'right',
					 'dpi', 600 ) )}

--> Bild wird rechtsbuendig ausgegeben

Der Text (vereinfacht) wird folgendermassen generiert
{set-block variable=$tblDesc}
  <tr>
  	<td></td>
	<td>{attribute_pdf_gui attribute=$node.object.data_map.description}</td>
  </tr>
{/set-block}

{pdf(table, $tblDesc, hash('width',200,
		'showLines',0,
		'rowGap',2,
		'textCMYK',array(0.5,0.4,0.4,0),
 		'colGap',0,
		'cellPadding',0,
		'repeatTableHeader',1) )}	


--> Text wird links vom grossen Bild ausgegeben.


Soweit so gut. Aber nun moechte ich unten eben noch 3 kleinere Bilder rechtsbuendig ausgeben.
Kriege ich aber nicht hin
Es gibt eine Schleife die 3x folgendes ausgibt
{pdf(image,hash('src', $itemImage.object.data_map.image.content[id_large].full_path,'dpi',600, 'width',100,'height',210))}

So klappt es, dass die Bilder linksbuendig nebeneinander dargestellt werden.
Wenn ich jetzt aber das
'align','right'
einfuege, dann klatscht er mir alle 3 Bilder uebereinander rechtsbuendig.
Der Versuch mit einer Tabelle ging auch nicht. Sprich, die Bilder konnte ich nicht in einer Zelle einfuegen.

Wie kann ich 3 Bilder rechtsbuendig nebeneinander ausgeben?

Wie kann ich diese 3 Bilder immer mit dem gleichen Abstand vom grossen Bild positionieren?
Weil im Moment habe ich es so geloest, dass ich einfach nach der Table x-mal
{pdf( new_line )}
eingefuegt habe, damit er die Bilder "runterdrueckt". Ohne, kleben die auch gleich zuoberst. Wenn nun aber der Text in der Tabelle laenger wird, dann schiebt er verstaendlicherweise die 3 Bilder auch weiter nach unten.

Ueber jede Hilfe dankbar.

gruss
fabian

Um Zugang zu den Foren zu erhalten, müssen Sie angemeldet sein