[ASP.NET/C#] SVG server side converteren naar jpg/gif/png

Pagina: 1
Acties:
  • 265 views sinds 30-01-2008
  • Reageer

  • skiwi
  • Registratie: Februari 2001
  • Laatst online: 05-04 14:13
Hoi,
Ik ben bezig een report-systeem op te zetten. In de rapporten komen verschillende (lijn)grafieken. Nu heb ik de benodigde data voor de grafieken uit de SQL database (SQL Server 2000) gehaald en in een XML structuur opgeslagen.
De gebruikers moeten de keuze hebben om de data in tabel dan wel in grafiek vorm weer te geven. Het weergeven van de data in een tabel is geen probleem (xslt-tje er tegenaan gegooid en klaar). Het maken van de chart levert meer problemen op. Ik heb voor mezelf de verschillende mogelijkheden op papier gezet:

a) Chart mbv Office 2000 WebComponents
b) Chart mbv Office XP
c) Chart via SVG

De voor en nadelen van elke optie zijn:
a) Zou geen probleem moeten zijn. Nadeel is alleen dat de webserver dan het Office 2000 pakket moet draaien.
b) Is niet mogelijk. Dit omdat wij simpelweg geen Office XP hebben en hier ook niet voor willen aanschaffen.
c) SVG lijkt de laatste tijd behoorlijk veel terein te winnen. Nadeel is dat nog niet alle browsers het ondersteunen maar volgens mij is dat slechts een kwestie van tijd.

Ik zou graag met de laatste genoemde optie (SVG) aan de slag willen. Ik heb dan alleen het probleem dat de grafieken niet in elke browser op te vragen zijn. Daarom ben ik op zoek naar een mogelijkheid om SVG files server side te converteren naar een jpg/gif/png file.

Iets meer achtergrond info: de grafieken worden 's nachts gedraaid dus het feit dat het converteren meer tijd/belasting kost is geen probleem.

Dit alles probeer ik te realiseren met ASP.NET en C#.
Iemand die mij op weg kan helpen? Ik ben al een tijdje op zoek naar een mogelijkheid om svg te converteren naar andere bestandsformaten maar heb daar met C# nog geen oplossing voor kunnen vinden.

Skiwi

  • Peetman
  • Registratie: Oktober 2001
  • Laatst online: 17:18

Peetman

Tjah....

Volgens mij zijn er voor asp standaard objecten te krijgen (ook gratis) die van gegevens een mooi grafiekje kunnen maken in bijv een jpg file.

Dan gebruik je natuurlijk niet svg. maja.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Geen idee wat je precies wilt, maar deze 2 artikelen kunnen je misschien helpen:

http://www.xmlforasp.net/...teBarChart.aspx.cs&font=3

http://aspalliance.com/chrisg/default.asp?article=152

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • skiwi
  • Registratie: Februari 2001
  • Laatst online: 05-04 14:13
Bedankt voor de links. Wat ik precies wil?? Met het voorbeeld uit jou bovenste link (http://www.xmlforasp.net/...em.Data/SVG/BarChart.aspx) wil ik een stap verder gaan. Namelijk het opslaan/converteren van deze svg file in een png/jpg/gif file.

Ik heb inderdaad een behoorlijk aantal goede asp chart-componenten kunnen vinden maar we hebben besloten om gebruik te maken van SVG zodat we later verder kunnen gaan met deze techniek. Het exporteren van de svg file naar een jpg/gif/png is dus een tijdelijke oplossing om de problemen met de verschillende browsers op te lossen.

  • Peetman
  • Registratie: Oktober 2001
  • Laatst online: 17:18

Peetman

Tjah....

Kan je niet zowel SVG als een chart component dat jpg/gif/png aanmaakt gebruiken, dan kan je misschien bij een browser die geen svg ondersteund gewoon de image laten zien. Of denk ik nu te simpel.

  • skiwi
  • Registratie: Februari 2001
  • Laatst online: 05-04 14:13
Hmm... op zich geen verkeerd idee. Maar op dit moment ondersteund geen enkele browser SVG. Aangezien het W3C van SVG een standaard heeft gemaakt zie ik het wel gebeuren dat de volgende browsers het gaan ondersteunen (mag je nooit van uitgaan natuurlijk maar als ik zo eens rond kijk op het web is SVG behoorlijk naam aan het maken). Dus met jou oplossing moet ik nog steeds een chart component gaan gebruiken.

Edit: Internet Explorer ondersteund SVG al wel al is dit een oudere versie

  • TheOneLLama
  • Registratie: Oktober 2000
  • Laatst online: 20-01-2022

TheOneLLama

A llama like no llama before

skiwi schreef op 02 oktober 2002 @ 13:18:
Hmm... op zich geen verkeerd idee. Maar op dit moment ondersteund geen enkele browser SVG. Aangezien het W3C van SVG een standaard heeft gemaakt zie ik het wel gebeuren dat de volgende browsers het gaan ondersteunen (mag je nooit van uitgaan natuurlijk maar als ik zo eens rond kijk op het web is SVG behoorlijk naam aan het maken). Dus met jou oplossing moet ik nog steeds een chart component gaan gebruiken.

Edit: Internet Explorer ondersteund SVG al wel al is dit een oudere versie
Dmv van een plugin van Adobe ondersteunen IE en Netscape 4.x SVG. Dmv van een oude plugin (niet de nieuwste versie) voor Netscape kan je ook Opera werkende krijgen. Verder is Mozilla druk bezig met eigen ondersteuning (de Adobe plugin werkt niet voor Mozilla/Netscape 6+) maar die is nog niet compleet (en alleen voor GDI+ / windows vooralsnog). Het ondersteund oa. nog niet de standaard manier van laden dus dat schiet niet echt op.

Opera OpenOffice.org Jabber Psi jabber://llama@mordax.com


  • skiwi
  • Registratie: Februari 2001
  • Laatst online: 05-04 14:13
Maar als ik jou verhaal zo lees zijn alle browser bouwers al wel druk bezig om het in hun volgende versies te implementeren. Dat is dus waar ik ook een beetje van uit ga. Ik zoek nu alleen een tijdelijke oplossing voor browsers die SVG nog niet ondersteunen. Daarom ben ik dus op zoek naar de mogelijkheid om SVG files te converteren naar jpg/gif/png mbv C# en ASP.NET

  • bonzz.netninja
  • Registratie: Oktober 2001
  • Laatst online: 21-08 11:14

bonzz.netninja

Niente baffi

mijn excuses voor de oude topic kick, maar ik zit momenteel met precies het zelfde probleem, en ben erg benieuwd of de topic starter met een oplossing is gekomen.

ook wij generen hier een svg uit een DB en laten die daarna zien op de client's browser. Echter wil de client hem ook kunnen opslaan, het liefst als pdf.

Dient dus eerst een conversie plaats te vinden naar raster image, (png/jpg) en daarna naar pdf (xml-fo).

Server side dit allen.

Ik ben bezig geweest met batik, en dat werkt, maar ik krijg hem helaas nog niet aan de gang op de server

vuistdiep in het post-pc tijdperk van Steve  | Joepie joepie. Dat ging echt toppie! | https://www.wegmetbigtech.nl


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

En wat verwacht je nu van ons? Het komt nu over namelijk als een mededeling.. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • bonzz.netninja
  • Registratie: Oktober 2001
  • Laatst online: 21-08 11:14

bonzz.netninja

Niente baffi

mm indeed, meer een vraag forumuleren. Hoe krijg ik een server side conversie van svg naar raster image (png/jpg) ;)

vuistdiep in het post-pc tijdperk van Steve  | Joepie joepie. Dat ging echt toppie! | https://www.wegmetbigtech.nl


  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 26-12-2025
Kijk hier 's naar: www.sharpvectors.org. Open source/freeware en ziet er goed uit. Ik ga het binnenkort ook gebruiken.
* An implementation of the CSS2 DOM, more specifically DOM Level 2 Style. This includes support for parsing CSS stylesheets and inline style attributes, inheritance, cascading, adding your own property profiles. It a seperate assembly to make it easy to re-use in other projects.
* SVG 1.0 DOM. This is obviously our main interest. The target is a full implementation but that will probably take some time.
* A SVG to GDI renderer that can be used for drawing to a screen, rasterizing to a bitmap or producing a an EMF file.
* A re-usable SVG Picture box component that you can use in your WinForms applications for viewing SVG.
* A simple SVG Viewer based on the picture box.
* Rendering webservice (coming soon)
Ik wil overigens niet vervelendend zijn maar google en 'svg to gdi' leverde dit als eerste resultaat op :)

[ Voor 7% gewijzigd door zoepercavia op 03-10-2003 13:01 ]

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


  • bonzz.netninja
  • Registratie: Oktober 2001
  • Laatst online: 21-08 11:14

bonzz.netninja

Niente baffi

eens bekeken, maar de demo werkt zeg maar nog niet goed. Een simpel stukje vmg als dir:
code:
1
2
3
4
5
6
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"
"http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd">
<svg xml:space="preserve" width="5.5in" height=".5in">
<text style="fill:red;" y="15">This is SVG.</text>
</svg>

snapt ie al niet. Is mijn hoop meteen weg.

batik zou de truck kunnen denk ik, maar ik snap nog niet hoe ik die op de server kan laten draaien. Wat ik dus eigenlijk wil is dat er op de website een knopje komt naast de svg viewer:"download als pdf"

vuistdiep in het post-pc tijdperk van Steve  | Joepie joepie. Dat ging echt toppie! | https://www.wegmetbigtech.nl


  • bonzz.netninja
  • Registratie: Oktober 2001
  • Laatst online: 21-08 11:14

bonzz.netninja

Niente baffi

toch wel, moest ff de namespace veranderen

vuistdiep in het post-pc tijdperk van Steve  | Joepie joepie. Dat ging echt toppie! | https://www.wegmetbigtech.nl


  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 26-12-2025
Werkte Sharpvectors nou of Batik? Ik wil zelf ook SVG naar bitmap gaan omzetten, dus ik ben wel geinteresseerd in je ervaringen.

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


  • bonzz.netninja
  • Registratie: Oktober 2001
  • Laatst online: 21-08 11:14

bonzz.netninja

Niente baffi

beide werken. Sharpvectort lijk nog erg exprerimenteel, maar de demo werkt dus wel webbased (serverside) wat ik dus eigenlijk wil, maar zelf de boel laten draaien wil nog niet.

batik werkt met java. Daar heb ik alleen de console versie aan de praat gekregen. Server side webbased nog niet :(

vuistdiep in het post-pc tijdperk van Steve  | Joepie joepie. Dat ging echt toppie! | https://www.wegmetbigtech.nl


  • bonzz.netninja
  • Registratie: Oktober 2001
  • Laatst online: 21-08 11:14

bonzz.netninja

Niente baffi

en sharpvector doet het nu opeens wel lekker, bizar bizarm, zullen wel aardstralen zijn

update:
ADOBE grpahic server kan het doen, heb ik ontdekt. De conversie van svg naar pdf dus. Alleen de prijs, 7500 tot 60000 dollar, is een beetje veul.

en ik ben aan het kijken naar apache cocoon, maar ik snap er niet veel van. Dus wat inbreng over de conversie van svg naar pdf van andere slimme tweakers zou ik niet afslaan :9

[ Voor 67% gewijzigd door bonzz.netninja op 07-10-2003 11:58 ]

vuistdiep in het post-pc tijdperk van Steve  | Joepie joepie. Dat ging echt toppie! | https://www.wegmetbigtech.nl

Pagina: 1