Skip to content

Commit 07acae1

Browse files
committed
PDFBOX-6049: add test + test files
git-svn-id: https://svn.apache.org/repos/asf/pdfbox/trunk@1927779 13f79535-47bb-0310-9956-ffa450edef68
1 parent dab0673 commit 07acae1

File tree

4 files changed

+37
-19
lines changed

4 files changed

+37
-19
lines changed

pdfbox/src/test/java/org/apache/pdfbox/multipdf/OverlayTest.java

Lines changed: 37 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.awt.image.DataBufferInt;
2525
import java.io.File;
2626
import java.io.IOException;
27+
import java.util.Collections;
2728
import java.util.HashMap;
2829
import java.util.List;
2930
import java.util.Map;
@@ -49,7 +50,7 @@ class OverlayTest
4950
{
5051
private static final File IN_DIR = new File("src/test/resources/org/apache/pdfbox/multipdf");
5152
private static final File OUT_DIR = new File("target/test-output/overlay");
52-
53+
5354
@BeforeAll
5455
static void setUp()
5556
{
@@ -108,6 +109,25 @@ void testRotatedOverlaysMap() throws IOException
108109
new File(OUT_DIR, "Overlayed-with-rot270.pdf"));
109110
}
110111
}
112+
new File(OUT_DIR, "OverlayTestBaseRot0_4Pages.pdf").delete();
113+
}
114+
115+
@Test
116+
void testOverlayOnRotatedSourcePages() throws IOException
117+
{
118+
try (Overlay overlay = new Overlay())
119+
{
120+
overlay.setInputFile(IN_DIR + "/PDFBOX-6049-Source.pdf");
121+
overlay.setDefaultOverlayFile(IN_DIR + "/PDFBOX-6049-Overlay.pdf");
122+
overlay.setOverlayPosition(Overlay.Position.FOREGROUND);
123+
overlay.setAdjustRotation(true);
124+
try (PDDocument resultDoc = overlay.overlay(Collections.emptyMap()))
125+
{
126+
resultDoc.save(OUT_DIR + "/PDFBOX-6049-Result.pdf");
127+
}
128+
checkIdenticalRendering(new File(IN_DIR + "/PDFBOX-6049-ExpectedResult.pdf"), new File(OUT_DIR, "PDFBOX-6049-Result.pdf"));
129+
new File(OUT_DIR, "PDFBOX-6049-Result.pdf").delete();
130+
}
111131
}
112132

113133
private void testRotatedOverlay(int rotation) throws IOException
@@ -136,28 +156,26 @@ private void testRotatedOverlay(int rotation) throws IOException
136156

137157
private void checkIdenticalRendering(File modelFile, File resultFile) throws IOException
138158
{
139-
BufferedImage modelImage;
140-
try (PDDocument modelDocument = Loader.loadPDF(modelFile))
159+
try (PDDocument modelDocument = Loader.loadPDF(modelFile);
160+
PDDocument resultDocument = Loader.loadPDF(resultFile))
141161
{
142-
modelImage = new PDFRenderer(modelDocument).renderImage(0);
143-
}
144-
145-
BufferedImage resultImage;
146-
try (PDDocument resultDocument = Loader.loadPDF(resultFile))
147-
{
148-
resultImage = new PDFRenderer(resultDocument).renderImage(0);
149-
}
150-
151-
// compare images
152-
assertEquals(modelImage.getWidth(), resultImage.getWidth());
153-
assertEquals(modelImage.getHeight(), resultImage.getHeight());
154-
assertEquals(modelImage.getType(), resultImage.getType());
162+
assertEquals(modelDocument.getNumberOfPages(), resultDocument.getNumberOfPages());
163+
for (int page = 0; page < modelDocument.getNumberOfPages(); ++page)
164+
{
165+
BufferedImage modelImage = new PDFRenderer(modelDocument).renderImage(page);
166+
BufferedImage resultImage = new PDFRenderer(resultDocument).renderImage(page);
155167

156-
DataBufferInt modelDataBuffer = (DataBufferInt) modelImage.getRaster().getDataBuffer();
157-
DataBufferInt resultDataBuffer = (DataBufferInt) resultImage.getRaster().getDataBuffer();
168+
// compare images
169+
assertEquals(modelImage.getWidth(), resultImage.getWidth());
170+
assertEquals(modelImage.getHeight(), resultImage.getHeight());
171+
assertEquals(modelImage.getType(), resultImage.getType());
158172

159-
assertArrayEquals(modelDataBuffer.getData(), resultDataBuffer.getData());
173+
DataBufferInt modelDataBuffer = (DataBufferInt) modelImage.getRaster().getDataBuffer();
174+
DataBufferInt resultDataBuffer = (DataBufferInt) resultImage.getRaster().getDataBuffer();
160175

176+
assertArrayEquals(modelDataBuffer.getData(), resultDataBuffer.getData());
177+
}
178+
}
161179
resultFile.delete();
162180
}
163181

Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)