return info;
}
- private ImageInfo getImage(String uri, Source src, ImageContext context) {
+ private ImageInfo getImage(String uri, Source src, ImageContext context) throws IOException {
InputStream in = new UnclosableInputStream(ImageUtil.needInputStream(src));
try {
DOMResult res = new DOMResult();
transformer.transform(source, res);
+ Document planDoc = (Document)res.getNode();
+ if (!PlanElementMapping.NAMESPACE.equals(
+ planDoc.getDocumentElement().getNamespaceURI())) {
+ in.reset();
+ return null;
+ }
+
//Have to render the plan to know its size
PlanRenderer pr = new PlanRenderer();
- Document svgDoc = pr.createSVGDocument((Document)res.getNode());
+ Document svgDoc = pr.createSVGDocument(planDoc);
float width = pr.getWidth();
float height = pr.getHeight();
import org.w3c.dom.Element;
import org.apache.batik.dom.svg.SVGDOMImplementation;
+
import org.apache.fop.svg.SVGUtilities;
/**
String title = "";
- DOMImplementation impl =
- SVGDOMImplementation.getDOMImplementation();
+ DOMImplementation impl
+ = SVGDOMImplementation.getDOMImplementation();
Document doc = impl.createDocument(SVG_NAMESPACE, "svg", null);
Element svgRoot = doc.getDocumentElement();
- svgRoot.setAttributeNS(null, "width", "" + width);
- svgRoot.setAttributeNS(null, "height", "" + height);
+ svgRoot.setAttributeNS(null, "width", Float.toString(width));
+ svgRoot.setAttributeNS(null, "height", Float.toString(height));
+ svgRoot.setAttributeNS(null, "viewBox",
+ "0 0 " + Float.toString(width) + " " + Float.toString(height));
svgRoot.setAttributeNS(null, "style",
"font-size:" + 8
+ ";font-family:"
java.awt.Font.PLAIN, (int)fontSize);
if (bord) {
- Element border =
- SVGUtilities.createRect(doc, 0, 0, width, height);
+ Element border
+ = SVGUtilities.createRect(doc, 0, 0, width, height);
border.setAttributeNS(null, "style", "stroke:black;fill:none");
svgRoot.appendChild(border);
}