FOP-3033: Update PDFBox to 2.0.21

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop-pdf-images/trunk@1894589 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/fontbox-2.0.19.jar b/lib/fontbox-2.0.21.jar
similarity index 93%
rename from lib/fontbox-2.0.19.jar
rename to lib/fontbox-2.0.21.jar
index b52c956..b40ff15 100644
--- a/lib/fontbox-2.0.19.jar
+++ b/lib/fontbox-2.0.21.jar
Binary files differ
diff --git a/lib/pdfbox-2.0.19.jar b/lib/pdfbox-2.0.21.jar
similarity index 81%
rename from lib/pdfbox-2.0.19.jar
rename to lib/pdfbox-2.0.21.jar
index 932ce71..a31e658 100644
--- a/lib/pdfbox-2.0.19.jar
+++ b/lib/pdfbox-2.0.21.jar
Binary files differ
diff --git a/pom.xml b/pom.xml
index eb5e1d8..d02a889 100755
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <dependency>
       <groupId>org.apache.pdfbox</groupId>
       <artifactId>pdfbox</artifactId>
-      <version>2.0.19</version>
+      <version>2.0.21</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
diff --git a/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java b/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
index 1f4255f..51d32ba 100644
--- a/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
+++ b/src/java/org/apache/fop/render/pdf/pdfbox/ImageConverterPDF2G2D.java
@@ -21,6 +21,7 @@
 
 import java.awt.Dimension;
 import java.awt.Graphics2D;
+import java.awt.RenderingHints;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Rectangle2D;
 import java.awt.image.BufferedImage;
@@ -172,8 +173,10 @@
                     at.scale(area.getWidth() / mediaBox.getWidth(),
                             area.getHeight() / mediaBox.getHeight());
                     g2d.transform(at);
-                normaliseScale(g2d);
-                    new PDFRenderer(pdDocument).renderPageToGraphics(selectedPage, g2d);
+                    normaliseScale(g2d);
+                    PDFRenderer pdfRenderer = new PDFRenderer(pdDocument);
+                    pdfRenderer.setRenderingHints(getDefaultRenderingHints());
+                    pdfRenderer.renderPageToGraphics(selectedPage, g2d);
                 }
             } catch (UnsupportedOperationException e) {
                 throw e;
@@ -184,6 +187,14 @@
             }
         }
 
+        private RenderingHints getDefaultRenderingHints() {
+            RenderingHints r = new RenderingHints(null);
+            r.put(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+            r.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
+            r.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+            return r;
+        }
+
         private void normaliseScale(Graphics2D g2d) {
             if (!(g2d instanceof AbstractGraphics2D)) {
                 AffineTransform old = g2d.getTransform();