Thanks for the reply.
Is there anyway I can keep my existing code which imports my stylesheet,
which is -
ProcessingInstruction pi =
doc.createProcessingInstruction("xml-stylesheet","C:\svg\style.css");
doc.insertBefore(pi, doc.getDocumentElement());
I don't quite see why this is picked up ok in the browser and renders the
SVG fine, but the stylesheet is not found when I choose to export the file
to JPG using the transcoder classes.
Thanks in advance again for any help,
Regards,
Dylan.
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: 11 April 2006 14:13
To: [email protected]
Cc: [email protected]
Subject: RE: CSS ignored when exporting to JPG
Hi Dylan,
"Dylan Browne" <[EMAIL PROTECTED]> wrote on 04/11/2006 07:12:20
AM:
> So Im guessing the stylesheet is not being found now?
> org.w3c.dom.DOMException: Null Document reference: Invalid CSS document.
Correct, most likely Batik can't find your CSS style sheet. Commonly
this is cause by using a relative reference when a Document without a
knowable base url is used. In this case the problem is that you haven't
properly set the xlink:href attribute:
> css.setAttributeNS(null, "xlink:href",
> "http://localhost:7001/SVGWeb/style.css");
This needs to be:
String XLINK_NAMESPACE_URI = "http://www.w3.org/1999/xlink";
css.setAttributeNS(XLINK_NAMESPACE_URI , "xlink:href",
"http://localhost:7001/SVGWeb/style.css");
Assuming you have an HTTP server on local host at port 7001
with a document at that location...
> -----Original Message-----
> From: Dylan Browne [mailto:[EMAIL PROTECTED]
> Sent: 11 April 2006 11:13
> To: [email protected]
> Subject: CSS ignored when exporting to JPG
>
> Hi,
>
> I have a problem when attempting to rasterize an SVG document created
using
> the Batik DOM classes. It looks like the rasterize process is not
picking up
> the stylesheet I am importing.
>
> I include my stylesheet like this (this works fine in so far as
rendering
> SVG in the browser goes):
>
> ProcessingInstruction pi = null;
> // import the stylesheet
> pi = doc.createProcessingInstruction("xml-stylesheet",
Config.CSS);
> doc.insertBefore(pi, doc.getDocumentElement());
>
> When I am creating my JPG, I use the following code. This does generate
the
> jpg, but any elements which are styled are not picked up so I end up
with a
> largely black image with a few shapes visible:
>
> public void streamSVGIntoImageFormat(SVGDocument doc) {
> try {
> // create a JPEG transcoder
> JPEGTranscoder t = new JPEGTranscoder();
> // set the transcoding hints
> t.addTranscodingHint(JPEGTranscoder.KEY_QUALITY, new
Float(.8));
> // create the transcoder input
> TranscoderInput input = new TranscoderInput(doc);
> // create the transcoder output
> OutputStream ostream = new FileOutputStream("c:\\out.jpg");
> TranscoderOutput output = new TranscoderOutput(ostream);
> // save the image
> t.transcode(input, output);
> // flush and close the stream then exit
> ostream.flush();
> ostream.close();
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
>
> Does this look like an issue with how I import my stylesheet, or an
issue
> with how I am calling the Transcoder code?
>
> Thanks in advance for any help,
>
> Kind regards,
>
> Dylan
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]