You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2021/05/04 16:40:33 UTC
svn commit: r1889496 - in /pdfbox/trunk/examples/src:
main/java/org/apache/pdfbox/examples/pdmodel/CreateGradientShadingPDF.java
test/java/org/apache/pdfbox/examples/pdmodel/TestCreateGradientShadingPDF.java
Author: tilman
Date: Tue May 4 16:40:33 2021
New Revision: 1889496
URL: http://svn.apache.org/viewvc?rev=1889496&view=rev
Log:
PDFBOX-5186: add test for shading creation
Added:
pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateGradientShadingPDF.java (with props)
Modified:
pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateGradientShadingPDF.java
Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateGradientShadingPDF.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateGradientShadingPDF.java?rev=1889496&r1=1889495&r2=1889496&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateGradientShadingPDF.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/CreateGradientShadingPDF.java Tue May 4 16:40:33 2021
@@ -15,14 +15,11 @@
*/
package org.apache.pdfbox.examples.pdmodel;
-import java.awt.image.BufferedImage;
-import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
-import javax.imageio.ImageIO;
+
import javax.imageio.stream.MemoryCacheImageOutputStream;
-import org.apache.pdfbox.Loader;
import org.apache.pdfbox.cos.COSArray;
import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSInteger;
@@ -39,7 +36,6 @@ import org.apache.pdfbox.pdmodel.graphic
import org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType2;
import org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType3;
import org.apache.pdfbox.pdmodel.graphics.shading.PDShadingType4;
-import org.apache.pdfbox.rendering.PDFRenderer;
/**
* This example creates a PDF with type 2 (axial) and type 3 (radial) shadings with a type 2
@@ -192,12 +188,6 @@ public class CreateGradientShadingPDF
document.save(file);
}
- try (PDDocument document = Loader.loadPDF(new File(file)))
- {
- // render the PDF and save it into a PNG file
- BufferedImage bim = new PDFRenderer(document).renderImageWithDPI(0, 100);
- ImageIO.write(bim, "png", new File(file + ".png"));
- }
}
/**
Added: pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateGradientShadingPDF.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateGradientShadingPDF.java?rev=1889496&view=auto
==============================================================================
--- pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateGradientShadingPDF.java (added)
+++ pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateGradientShadingPDF.java Tue May 4 16:40:33 2021
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.pdfbox.examples.pdmodel;
+
+import java.awt.Color;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
+import org.apache.pdfbox.Loader;
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.rendering.PDFRenderer;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+/**
+ *
+ * @author Tilman Hausherr
+ */
+class TestCreateGradientShadingPDF
+{
+ @Test
+ void testCreateGradientShading() throws IOException
+ {
+ String filename = "target/GradientShading.pdf";
+
+ CreateGradientShadingPDF creator = new CreateGradientShadingPDF();
+ creator.create(filename);
+
+ try (PDDocument document = Loader.loadPDF(new File(filename)))
+ {
+ Set<Color> set = new HashSet<>();
+ BufferedImage bim = new PDFRenderer(document).renderImage(0);
+ for (int x = 0; x < bim.getWidth(); ++x)
+ {
+ for (int y = 0; y < bim.getHeight(); ++y)
+ {
+ set.add(new Color(bim.getRGB(x, y)));
+ }
+ }
+ Assertions.assertTrue(set.size() > 10000); // 10258 different colors on windows 10
+ }
+ }
+}
Propchange: pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdmodel/TestCreateGradientShadingPDF.java
------------------------------------------------------------------------------
svn:eol-style = native