FOP-2836: Update PDFBox to 2.0.13
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop-pdf-images/trunk@1849454 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/fontbox-2.0.11.jar b/lib/fontbox-2.0.13.jar
similarity index 92%
rename from lib/fontbox-2.0.11.jar
rename to lib/fontbox-2.0.13.jar
index 8f38ac6..f13a08f 100644
--- a/lib/fontbox-2.0.11.jar
+++ b/lib/fontbox-2.0.13.jar
Binary files differ
diff --git a/lib/pdfbox-2.0.11.jar b/lib/pdfbox-2.0.13.jar
similarity index 77%
rename from lib/pdfbox-2.0.11.jar
rename to lib/pdfbox-2.0.13.jar
index 4195d0e..8bee5ed 100644
--- a/lib/pdfbox-2.0.11.jar
+++ b/lib/pdfbox-2.0.13.jar
Binary files differ
diff --git a/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java b/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java
index 1d72ea6..ef2f6b2 100644
--- a/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java
+++ b/src/java/org/apache/fop/render/pdf/pdfbox/PSPDFGraphics2D.java
@@ -62,6 +62,7 @@
import org.apache.pdfbox.pdmodel.graphics.shading.AxialShadingPaint;
import org.apache.pdfbox.pdmodel.graphics.shading.RadialShadingContext;
import org.apache.pdfbox.pdmodel.graphics.shading.RadialShadingPaint;
+import org.apache.pdfbox.pdmodel.graphics.shading.ShadingPaint;
import org.apache.pdfbox.util.Matrix;
import org.apache.xmlgraphics.image.loader.ImageInfo;
@@ -120,7 +121,7 @@
try {
AxialShadingContext asc = (AxialShadingContext) paintContext;
float[] fCoords = asc.getCoords();
- transformCoords(fCoords, paint, true);
+ transformCoords(fCoords, (ShadingPaint) paint, true);
PDFunction function = asc.getFunction();
Function targetFT = getFunction(function);
if (targetFT != null) {
@@ -141,7 +142,7 @@
try {
RadialShadingContext rsc = (RadialShadingContext) paintContext;
float[] fCoords = rsc.getCoords();
- transformCoords(fCoords, paint, false);
+ transformCoords(fCoords, (ShadingPaint) paint, false);
PDFunction function = rsc.getFunction();
Function targetFT3 = getFunction(function);
List<Double> dCoords = floatArrayToDoubleList(fCoords);
@@ -196,25 +197,16 @@
return rectangle;
}
- private void transformCoords(float[] coords, Paint paint, boolean axialShading) {
- try {
- Field f = paint.getClass().getDeclaredField("matrix");
- f.setAccessible(true);
- Matrix ctm = (Matrix) f.get(paint);
- AffineTransform at = ctm.createAffineTransform();
- if (axialShading) {
- at.transform(coords, 0, coords, 0, 2);
- } else {
- at.transform(coords, 0, coords, 0, 1);
- at.transform(coords, 3, coords, 3, 1);
- coords[2] *= ctm.getScalingFactorX();
- coords[5] *= ctm.getScalingFactorX();
- }
-
- } catch (NoSuchFieldException e) {
- throw new RuntimeException(e);
- } catch (IllegalAccessException e) {
- throw new RuntimeException(e);
+ private void transformCoords(float[] coords, ShadingPaint paint, boolean axialShading) {
+ Matrix ctm = paint.getMatrix();
+ AffineTransform at = ctm.createAffineTransform();
+ if (axialShading) {
+ at.transform(coords, 0, coords, 0, 2);
+ } else {
+ at.transform(coords, 0, coords, 0, 1);
+ at.transform(coords, 3, coords, 3, 1);
+ coords[2] *= ctm.getScalingFactorX();
+ coords[5] *= ctm.getScalingFactorX();
}
}
diff --git a/xmlgraphics-pdfimages-pom-template.pom b/xmlgraphics-pdfimages-pom-template.pom
index b3e8e5b..cf04340 100644
--- a/xmlgraphics-pdfimages-pom-template.pom
+++ b/xmlgraphics-pdfimages-pom-template.pom
@@ -80,12 +80,12 @@
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
- <version>2.0.11</version>
+ <version>2.0.13</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>fontbox</artifactId>
- <version>2.0.11</version>
+ <version>2.0.13</version>
</dependency>
</dependencies>
</project>