@@ -42,11 +42,14 @@ This file is part of the iText (R) project.
4242 */
4343package com .itextpdf .rups .model ;
4444
45+ import com .itextpdf .brotlicompressor .BrotliStreamCompressionStrategy ;
4546import com .itextpdf .kernel .exceptions .BadPasswordException ;
47+ import com .itextpdf .kernel .pdf .IStreamCompressionStrategy ;
4648import com .itextpdf .kernel .pdf .PdfDocument ;
4749import com .itextpdf .kernel .pdf .PdfReader ;
4850import com .itextpdf .kernel .pdf .PdfWriter ;
4951import com .itextpdf .kernel .pdf .ReaderProperties ;
52+ import com .itextpdf .kernel .pdf .StampingProperties ;
5053import com .itextpdf .rups .view .Language ;
5154
5255import java .io .ByteArrayInputStream ;
@@ -252,7 +255,7 @@ private boolean openDocumentReadWrite(byte[] password) throws IOException {
252255 );
253256 final ByteArrayOutputStream tempWriterOutputStream = new ByteArrayOutputStream ();
254257 final PdfWriter writer = new PdfWriter (tempWriterOutputStream );
255- document = new PdfDocument (reader , writer );
258+ document = new PdfDocument (reader , writer , createStampingProps () );
256259 writerOutputStream = tempWriterOutputStream ;
257260 return true ;
258261 } catch (BadPasswordException e ) {
@@ -293,4 +296,13 @@ private boolean openDocumentReadOnly(byte[] password) throws IOException {
293296 return false ;
294297 }
295298 }
299+
300+ private static StampingProperties createStampingProps () {
301+ final StampingProperties props = new StampingProperties ();
302+ props .registerDependency (
303+ IStreamCompressionStrategy .class ,
304+ new BrotliStreamCompressionStrategy ()
305+ );
306+ return props ;
307+ }
296308}
0 commit comments