1Danke
ERLEDIGT
JA
JA
ANTWORTEN
11
11
ZUGRIFFE
4637
4637
EMPFEHLEN
-
Hallo tutorials.de-Community,
ich programmiere gerade eine Exportfunktion in C#, bei der aus der Datenbank die Daten in ein PDF mittels XSL-FO umgewandelt werden. In meinem PDF will ich Bilder unterbringen. Ich mache dies miitels <fo:external-graphic>. Mein Problem ist folgendes:
Mein Programm verlangt als src-Attributwert in der external-graphic eine Netzwerkadresse (\\server\share\) oder einen Link (http://...). Ich will allerdings die Bilder lokal (am besten mit relativen Pfadangaben) abrufen. Um dies zu erreichen habe ich schon ein bisschen experimentiert. Folgende Möglichkeiten funktionieren nicht:
Code :1 2 3 4 5
src="bild.png" src="url('bild.png')" src="url('file:///bild.png')" src="url('file:///<absoluter Pfad>/bild.png')" src="{bild.png}"
meine momentane Lösung (über Netzwerk oder Link) sieht so aus:
Code :1 2 3 4 5 6 7 8 9 10
... <fo:static-content flow-name="xsl-region-before"> <!--ToDo: 1 mal logoklein.gif--> <fo:block-container top="4.4cm" left="1.5cm" position="absolute" width="0.7cm" height="0.6cm"> <fo:block> <fo:external-graphic src="url('http://www.anonym.de/directory/logoklein.gif')"/> </fo:block> </fo:block-container> ...
oder
Code :1 2 3 4 5 6 7 8
... <fo:static-content flow-name="xsl-region-before"> <fo:block-container top="1.8cm" left="11.5cm" position="absolute" width="6cm" height="1.1cm"> <fo:block> <fo:external-graphic src="url('\\PCname\freigabe\schriftzug.gif')" content-height="1.2cm" content-width="6cm"/> </fo:block> </fo:block-container> ...
PS: Andere Bildformate (png, jpeg, ...) gehen auch nicht.
--
Bitte helft mir weiter.
Danke schonmal im Voraus und viele Grüße------------------------------------------
I hacked 127.0.0.1
-
01.02.09 18:57 #2
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Hi.
Versuch's mal mit
GrußCode :1
src="file:bild.png"
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Hi,
leider funktioniert sowohl
als auchCode :1
src="file:bild.png"
nicht.Code :1
src="url('file:bild.png')"
Um weiterzuhelfen hänge ich mal die genaue Fehlermeldung mit an (gleiche Meldung bei beiden Varianten!):
Code :1
Error while creating area: Error with image URL: Der UNC-Pfad muss folgendes Format haben: \\server\share. And no base URL is specified.
------------------------------------------
I hacked 127.0.0.1
-
02.02.09 10:01 #4
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Hi.
Was verwendest du denn für einen Prozessor? NFop?
Gibt's denn keine richtige Exception mit mehr Information? Das sieht ja so aus wie eine .NET Meldung mit dem UNC Pfad...
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Hi,
da ich selber neu in dem Thema war/bin habe ich die Prozedur aus folgendem Beispiel übernommen:
http://www.codeproject.com/KB/dotnet...select=1332991.
Ich kann dir leider nicht beantworten, ob das ein NFOP oder ein FOP Prozessor ist. Ich schätze aber FOP, da in der Methode GeneratePDF JavaCode verwendet wird.
Die Resourcedatei in VisualStudio heißt: "ApacheFop.Net"
--
Gruß------------------------------------------
I hacked 127.0.0.1
-
02.02.09 12:01 #6
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Hi.
Du nutzt also NFOP (steht doch groß auf der Seite von dem Link den du zitiert hast).
NFOP hat ein Problem mit relativen Pfadangaben (http://sourceforge.net/tracker/index...58&atid=511410), was aber anscheinend an der Microsoft J# Implementierung der Java Bibliotheken liegt.
Absolute Pfade sollten demnach funktionieren. Oder bekommst du da auch einen Fehler?
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Hi,
wie muss denn die absolute Pfadangabe aussehen? Ich hab jetzt schon einiges probiert, komm aber nicht dahinter.
Probiert habe ich:
Code :1 2 3 4 5 6 7 8 9 10
<fo:external-graphic src="C:\schriftzug.jpg"/> <fo:external-graphic src="C:\\schriftzug.jpg"/> <fo:external-graphic src="C:/schriftzug.jpg"/> <fo:external-graphic src="C://schriftzug.jpg"/> <fo:external-graphic src="url('C:\schriftzug.jpg')"/> <fo:external-graphic src="url('C:\\schriftzug.jpg')"/> <fo:external-graphic src="url('file:C:\schriftzug.jpg')"/> <fo:external-graphic src="url('file:C:\\schriftzug.jpg')"/> <fo:external-graphic src="url('file:///C:\schriftzug.jpg')"/> ...
Eine Fehlermeldung kommt nicht mehr im Ausgabefenster, aber die Grafik wird im PDF nicht dargestellt...
PS: Ist es möglich eine Pfadangabe als Parameter in die XSL zu übergeben?------------------------------------------
I hacked 127.0.0.1
-
02.02.09 14:04 #8
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Hi.
Es sollte eigentlich so gehen:
GrußCode :1
file://c:/folder/pic.jpg
PS: Ja, du kannst natürlich auch Parameter übergeben.If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Hi,
erst mal danke für deine schnelle Hilfe. Es geht aber immer noch nicht.
Ich habe folgende Varianten probiert (auch mit doppelten (Back-)Slashes):
(keine Fehler nur leerer fo:block)
Code :1 2 3 4
<fo:external-graphic src="file://c:/s.jpg" content-height="1.2cm" content-width="6cm"/> <fo:external-graphic src="file://c:\s.jpg" content-height="1.2cm" content-width="6cm"/> <fo:external-graphic src="url('file://c:/s.jpg')" content-height="1.2cm" content-width="6cm"/> <fo:external-graphic src="url('file://c:\s.jpg')" content-height="1.2cm" content-width="6cm"/>
Hier mal der ganze Code, vielleicht hilft es weiter ...
Code :1 2 3 4 5 6 7
<fo:static-content flow-name="xsl-region-before"> <fo:block-container background-color="#003fff" top="1.5cm" left="11.5cm" position="absolute" width="6cm" height="1.2cm"> <fo:block> <fo:external-graphic src="file://c:/s.jpg" content-height="1.2cm" content-width="6cm"/> </fo:block> </fo:block-container> ...
------------------------------------------
I hacked 127.0.0.1
-
02.02.09 15:07 #10
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Hi.
Bist du dir sicher, das der Platz ausreicht? Bei mir zeigt er die Grafik nur an wenn auch genug Platz ist.
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Danke deepthroat !
Genau daran lag es.
Und nochmal: VIELEN DANK FÜR DEINE HILFE!
------------------------------------------
I hacked 127.0.0.1
-
Hi,
bei mir zeigt er keine Bilder an, wenn ich den FOP in einer .jar starte.
Starte ich den FOP unter eclipse, werden die Bilder angezeigt.
Was da los
Ähnliche Themen
-
Pfad an <fo:external-graphic> übergeben
Von Sixty im Forum XML TechnologienAntworten: 1Letzter Beitrag: 23.03.10, 15:04 -
Graphic Problem
Von MechanU im Forum JavaAntworten: 1Letzter Beitrag: 06.05.09, 12:35 -
Graphic tablet
Von wodi im Forum HardwareAntworten: 3Letzter Beitrag: 16.08.07, 12:20 -
Graphic-Tablet
Von thekiller im Forum HardwareAntworten: 1Letzter Beitrag: 07.06.07, 21:12





Zitieren
Login





