From e128882271c6609cf51a6a349b8bb44eab58d210 Mon Sep 17 00:00:00 2001 From: Glen Mazza Date: Thu, 22 Jan 2004 22:40:51 +0000 Subject: [PATCH] Applied Thomas DeWeese's latest patch for the PDF transcoder. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197244 13f79535-47bb-0310-9956-ffa450edef68 --- build.xml | 5 ++++- src/java/org/apache/fop/svg/PDFGraphics2D.java | 16 +++++++++++++--- .../apache/fop/svg/PDFImageElementBridge.java | 2 +- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/build.xml b/build.xml index ad783cfb8..805067992 100644 --- a/build.xml +++ b/build.xml @@ -520,7 +520,10 @@ list of possible build targets. + + + @@ -580,7 +583,7 @@ list of possible build targets. - + diff --git a/src/java/org/apache/fop/svg/PDFGraphics2D.java b/src/java/org/apache/fop/svg/PDFGraphics2D.java index 90e7f91a0..ddf9d34e1 100644 --- a/src/java/org/apache/fop/svg/PDFGraphics2D.java +++ b/src/java/org/apache/fop/svg/PDFGraphics2D.java @@ -151,6 +151,12 @@ public class PDFGraphics2D extends AbstractGraphics2D { */ protected int baseLevel = 0; + /** + * The count of JPEG images added to document so they recieve + * unique keys. + */ + protected int jpegCount = 0; + /** * The current font information. */ @@ -340,9 +346,13 @@ public class PDFGraphics2D extends AbstractGraphics2D { * @param width the width to draw the image * @param height the height to draw the image */ - public void addJpegImage(JpegImage jpeg, float x, float y, float width, float height) { - FopPDFImage fopimage = new FopPDFImage(jpeg, ""); - int xObjectNum = this.pdfDoc.addImage(resourceContext, fopimage).getXNumber(); + public void addJpegImage(JpegImage jpeg, float x, float y, + float width, float height) { + String key = "__AddJPEG_"+jpegCount; + jpegCount++; + FopPDFImage fopimage = new FopPDFImage(jpeg, key); + int xObjectNum = this.pdfDoc.addImage(resourceContext, + fopimage).getXNumber(); AffineTransform at = getTransform(); double[] matrix = new double[6]; diff --git a/src/java/org/apache/fop/svg/PDFImageElementBridge.java b/src/java/org/apache/fop/svg/PDFImageElementBridge.java index 2d58a6a86..aab0d089d 100644 --- a/src/java/org/apache/fop/svg/PDFImageElementBridge.java +++ b/src/java/org/apache/fop/svg/PDFImageElementBridge.java @@ -97,6 +97,7 @@ public class PDFImageElementBridge extends SVGImageElementBridge { (purl.toString(), purl.openStream(), null); if (ii.mimeType.toLowerCase() == "image/jpeg") { JpegImage jpeg = new JpegImage(ii); + jpeg.load(FopImage.ORIGINAL_DATA, null); PDFJpegNode node = new PDFJpegNode(jpeg, origGN); Rectangle2D imgBounds = getImageBounds(ctx, e); @@ -154,7 +155,6 @@ public class PDFImageElementBridge extends SVGImageElementBridge { public void primitivePaint(Graphics2D g2d) { if (g2d instanceof PDFGraphics2D) { PDFGraphics2D pdfg = (PDFGraphics2D) g2d; - pdfg.setTransform(getTransform()); float x = 0; float y = 0; try { -- 2.39.5