@@ -86,38 +86,39 @@ void testClonePDFWithCosArrayStream2() throws IOException
8686
8787 new File (TESTDIR ).mkdirs ();
8888
89- PDDocument srcDoc = new PDDocument ();
90- PDPage pdPage = new PDPage ();
91- srcDoc .addPage (pdPage );
92- try (PDPageContentStream pdPageContentStream1 = new PDPageContentStream (srcDoc , pdPage , AppendMode .APPEND , false ))
89+ try (PDDocument srcDoc = new PDDocument ())
9390 {
94- pdPageContentStream1 .setNonStrokingColor (Color .black );
95- pdPageContentStream1 .addRect (100 , 600 , 300 , 100 );
96- pdPageContentStream1 .fill ();
97- }
98- try (PDPageContentStream pdPageContentStream2 = new PDPageContentStream (srcDoc , pdPage , AppendMode .APPEND , false ))
99- {
100- pdPageContentStream2 .setNonStrokingColor (Color .red );
101- pdPageContentStream2 .addRect (100 , 500 , 300 , 100 );
102- pdPageContentStream2 .fill ();
103- }
104- try (PDPageContentStream pdPageContentStream3 = new PDPageContentStream (srcDoc , pdPage , AppendMode .APPEND , false ))
105- {
106- pdPageContentStream3 .setNonStrokingColor (Color .yellow );
107- pdPageContentStream3 .addRect (100 , 400 , 300 , 100 );
108- pdPageContentStream3 .fill ();
109- }
110-
111- srcDoc .save (TESTDIR + CLONESRC );
112- PDFMergerUtility merger = new PDFMergerUtility ();
113- try (PDDocument dstDoc = new PDDocument ())
114- {
115- // this calls PDFCloneUtility.cloneForNewDocument(),
116- // which would fail before the fix in PDFBOX-2052
117- merger .appendDocument (dstDoc , srcDoc );
118-
119- // save and reload PDF, so that one can see that the files are legit
120- dstDoc .save (TESTDIR + CLONEDST );
91+ PDPage pdPage = new PDPage ();
92+ srcDoc .addPage (pdPage );
93+ try (PDPageContentStream pdPageContentStream1 = new PDPageContentStream (srcDoc , pdPage , AppendMode .APPEND , false ))
94+ {
95+ pdPageContentStream1 .setNonStrokingColor (Color .black );
96+ pdPageContentStream1 .addRect (100 , 600 , 300 , 100 );
97+ pdPageContentStream1 .fill ();
98+ }
99+ try (PDPageContentStream pdPageContentStream2 = new PDPageContentStream (srcDoc , pdPage , AppendMode .APPEND , false ))
100+ {
101+ pdPageContentStream2 .setNonStrokingColor (Color .red );
102+ pdPageContentStream2 .addRect (100 , 500 , 300 , 100 );
103+ pdPageContentStream2 .fill ();
104+ }
105+ try (PDPageContentStream pdPageContentStream3 = new PDPageContentStream (srcDoc , pdPage , AppendMode .APPEND , false ))
106+ {
107+ pdPageContentStream3 .setNonStrokingColor (Color .yellow );
108+ pdPageContentStream3 .addRect (100 , 400 , 300 , 100 );
109+ pdPageContentStream3 .fill ();
110+ }
111+ srcDoc .save (TESTDIR + CLONESRC );
112+ PDFMergerUtility merger = new PDFMergerUtility ();
113+ try (PDDocument dstDoc = new PDDocument ())
114+ {
115+ // this calls PDFCloneUtility.cloneForNewDocument(),
116+ // which would fail before the fix in PDFBOX-2052
117+ merger .appendDocument (dstDoc , srcDoc );
118+
119+ // save and reload PDF, so that one can see that the files are legit
120+ dstDoc .save (TESTDIR + CLONEDST );
121+ }
121122 }
122123 try (PDDocument doc = Loader .loadPDF (new File (TESTDIR + CLONESRC )))
123124 {
0 commit comments