@@ -188,6 +188,20 @@ public virtual void InvalidInfoTest() {
188188 , e . Message ) ;
189189 }
190190
191+ [ NUnit . Framework . Test ]
192+ public virtual void InvalidInfoWithFullCompression ( ) {
193+ String outPdf = destinationFolder + "invalidInfoWithFillCompression.pdf" ;
194+ PdfWriter writer = new PdfWriter ( outPdf , new WriterProperties ( ) . SetPdfVersion ( PdfVersion . PDF_2_0 ) . SetFullCompressionMode
195+ ( true ) ) ;
196+ Stream @is = FileUtil . GetInputStreamForFile ( sourceFolder + "sRGB Color Space Profile.icm" ) ;
197+ using ( PdfADocument doc = new PdfADocument ( writer , PdfAConformance . PDF_A_4 , new PdfOutputIntent ( "Custom" ,
198+ "" , "http://www.color.org" , "sRGB IEC61966-2.1" , @is ) ) ) {
199+ doc . AddNewPage ( ) ;
200+ }
201+ NUnit . Framework . Assert . IsNull ( new VeraPdfValidator ( ) . Validate ( outPdf ) ) ;
202+ }
203+
204+ // Android-Conversion-Skip-Line (TODO DEVSIX-7377 introduce pdf\a validation on Android)
191205 [ NUnit . Framework . Test ]
192206 public virtual void ReadValidDocumentTest ( ) {
193207 String outPdf = destinationFolder + "simplePdfA4_output01.pdf" ;
@@ -302,10 +316,11 @@ public virtual void ValidFormXObjectTest() {
302316 // Android-Conversion-Skip-Line (TODO DEVSIX-7377 introduce pdf\a validation on Android)
303317 [ NUnit . Framework . Test ]
304318 public virtual void CreateInvalidPdfAVersionNumberWithPDFA4 ( ) {
305- PdfWriter writer = new PdfWriter ( new PdfWriter ( new MemoryStream ( ) ) , new WriterProperties ( ) . SetPdfVersion ( PdfVersion
306- . PDF_1_7 ) ) ;
307- PdfADocument doc = new PdfADocument ( writer , PdfAConformance . PDF_A_4 , new PdfOutputIntent ( "Custom" , "" , "http://www.color.org"
308- , "sRGB IEC61966-2.1" , FileUtil . GetInputStreamForFile ( sourceFolder + "sRGB Color Space Profile.icm" ) ) ) ;
319+ PdfWriter writer = new PdfWriter ( new PdfWriter ( new MemoryStream ( ) ) , new WriterProperties ( ) ) ;
320+ PdfA4CatalogCheckTest . PdfDocumentCustomVersion doc = new PdfA4CatalogCheckTest . PdfDocumentCustomVersion ( writer
321+ , PdfAConformance . PDF_A_4 , new PdfOutputIntent ( "Custom" , "" , "http://www.color.org" , "sRGB IEC61966-2.1"
322+ , FileUtil . GetInputStreamForFile ( sourceFolder + "sRGB Color Space Profile.icm" ) ) ) ;
323+ doc . SetPdfVersion ( PdfVersion . PDF_1_7 ) ;
309324 doc . AddNewPage ( ) ;
310325 Exception e = NUnit . Framework . Assert . Catch ( typeof ( PdfAConformanceException ) , ( ) => doc . Close ( ) ) ;
311326 NUnit . Framework . Assert . AreEqual ( MessageFormatUtil . Format ( PdfaExceptionMessageConstant . THE_FILE_HEADER_SHALL_CONTAIN_RIGHT_PDF_VERSION
@@ -314,10 +329,11 @@ public virtual void CreateInvalidPdfAVersionNumberWithPDFA4() {
314329
315330 [ NUnit . Framework . Test ]
316331 public virtual void CreateInvalidPdfAVersionNumberWithPDFA4F ( ) {
317- PdfWriter writer = new PdfWriter ( new PdfWriter ( new MemoryStream ( ) ) , new WriterProperties ( ) . SetPdfVersion ( PdfVersion
318- . PDF_1_7 ) ) ;
319- PdfADocument doc = new PdfADocument ( writer , PdfAConformance . PDF_A_4F , new PdfOutputIntent ( "Custom" , "" , "http://www.color.org"
320- , "sRGB IEC61966-2.1" , FileUtil . GetInputStreamForFile ( sourceFolder + "sRGB Color Space Profile.icm" ) ) ) ;
332+ PdfWriter writer = new PdfWriter ( new PdfWriter ( new MemoryStream ( ) ) , new WriterProperties ( ) ) ;
333+ PdfA4CatalogCheckTest . PdfDocumentCustomVersion doc = new PdfA4CatalogCheckTest . PdfDocumentCustomVersion ( writer
334+ , PdfAConformance . PDF_A_4F , new PdfOutputIntent ( "Custom" , "" , "http://www.color.org" , "sRGB IEC61966-2.1"
335+ , FileUtil . GetInputStreamForFile ( sourceFolder + "sRGB Color Space Profile.icm" ) ) ) ;
336+ doc . SetPdfVersion ( PdfVersion . PDF_1_7 ) ;
321337 doc . AddNewPage ( ) ;
322338 Exception e = NUnit . Framework . Assert . Catch ( typeof ( PdfAConformanceException ) , ( ) => doc . Close ( ) ) ;
323339 NUnit . Framework . Assert . AreEqual ( MessageFormatUtil . Format ( PdfaExceptionMessageConstant . THE_FILE_HEADER_SHALL_CONTAIN_RIGHT_PDF_VERSION
@@ -326,10 +342,11 @@ public virtual void CreateInvalidPdfAVersionNumberWithPDFA4F() {
326342
327343 [ NUnit . Framework . Test ]
328344 public virtual void CreateInvalidPdfAVersionNumberWithPDFA4E ( ) {
329- PdfWriter writer = new PdfWriter ( new PdfWriter ( new MemoryStream ( ) ) , new WriterProperties ( ) . SetPdfVersion ( PdfVersion
330- . PDF_1_7 ) ) ;
331- PdfADocument doc = new PdfADocument ( writer , PdfAConformance . PDF_A_4E , new PdfOutputIntent ( "Custom" , "" , "http://www.color.org"
332- , "sRGB IEC61966-2.1" , FileUtil . GetInputStreamForFile ( sourceFolder + "sRGB Color Space Profile.icm" ) ) ) ;
345+ PdfWriter writer = new PdfWriter ( new PdfWriter ( new MemoryStream ( ) ) , new WriterProperties ( ) ) ;
346+ PdfA4CatalogCheckTest . PdfDocumentCustomVersion doc = new PdfA4CatalogCheckTest . PdfDocumentCustomVersion ( writer
347+ , PdfAConformance . PDF_A_4E , new PdfOutputIntent ( "Custom" , "" , "http://www.color.org" , "sRGB IEC61966-2.1"
348+ , FileUtil . GetInputStreamForFile ( sourceFolder + "sRGB Color Space Profile.icm" ) ) ) ;
349+ doc . SetPdfVersion ( PdfVersion . PDF_1_7 ) ;
333350 doc . AddNewPage ( ) ;
334351 Exception e = NUnit . Framework . Assert . Catch ( typeof ( PdfAConformanceException ) , ( ) => doc . Close ( ) ) ;
335352 NUnit . Framework . Assert . AreEqual ( MessageFormatUtil . Format ( PdfaExceptionMessageConstant . THE_FILE_HEADER_SHALL_CONTAIN_RIGHT_PDF_VERSION
@@ -338,10 +355,11 @@ public virtual void CreateInvalidPdfAVersionNumberWithPDFA4E() {
338355
339356 [ NUnit . Framework . Test ]
340357 public virtual void CreateInvalidPdfAVersion16NumberWithPDFA4 ( ) {
341- PdfWriter writer = new PdfWriter ( new PdfWriter ( new MemoryStream ( ) ) , new WriterProperties ( ) . SetPdfVersion ( PdfVersion
342- . PDF_1_6 ) ) ;
343- PdfADocument doc = new PdfADocument ( writer , PdfAConformance . PDF_A_4 , new PdfOutputIntent ( "Custom" , "" , "http://www.color.org"
344- , "sRGB IEC61966-2.1" , FileUtil . GetInputStreamForFile ( sourceFolder + "sRGB Color Space Profile.icm" ) ) ) ;
358+ PdfWriter writer = new PdfWriter ( new PdfWriter ( new MemoryStream ( ) ) , new WriterProperties ( ) ) ;
359+ PdfA4CatalogCheckTest . PdfDocumentCustomVersion doc = new PdfA4CatalogCheckTest . PdfDocumentCustomVersion ( writer
360+ , PdfAConformance . PDF_A_4 , new PdfOutputIntent ( "Custom" , "" , "http://www.color.org" , "sRGB IEC61966-2.1"
361+ , FileUtil . GetInputStreamForFile ( sourceFolder + "sRGB Color Space Profile.icm" ) ) ) ;
362+ doc . SetPdfVersion ( PdfVersion . PDF_1_6 ) ;
345363 doc . AddNewPage ( ) ;
346364 Exception e = NUnit . Framework . Assert . Catch ( typeof ( PdfAConformanceException ) , ( ) => doc . Close ( ) ) ;
347365 NUnit . Framework . Assert . AreEqual ( MessageFormatUtil . Format ( PdfaExceptionMessageConstant . THE_FILE_HEADER_SHALL_CONTAIN_RIGHT_PDF_VERSION
@@ -350,10 +368,11 @@ public virtual void CreateInvalidPdfAVersion16NumberWithPDFA4() {
350368
351369 [ NUnit . Framework . Test ]
352370 public virtual void CreateInvalidPdfAVersion13NumberWithPDFA4F ( ) {
353- PdfWriter writer = new PdfWriter ( new PdfWriter ( new MemoryStream ( ) ) , new WriterProperties ( ) . SetPdfVersion ( PdfVersion
354- . PDF_1_3 ) ) ;
355- PdfADocument doc = new PdfADocument ( writer , PdfAConformance . PDF_A_4F , new PdfOutputIntent ( "Custom" , "" , "http://www.color.org"
356- , "sRGB IEC61966-2.1" , FileUtil . GetInputStreamForFile ( sourceFolder + "sRGB Color Space Profile.icm" ) ) ) ;
371+ PdfWriter writer = new PdfWriter ( new PdfWriter ( new MemoryStream ( ) ) , new WriterProperties ( ) ) ;
372+ PdfA4CatalogCheckTest . PdfDocumentCustomVersion doc = new PdfA4CatalogCheckTest . PdfDocumentCustomVersion ( writer
373+ , PdfAConformance . PDF_A_4F , new PdfOutputIntent ( "Custom" , "" , "http://www.color.org" , "sRGB IEC61966-2.1"
374+ , FileUtil . GetInputStreamForFile ( sourceFolder + "sRGB Color Space Profile.icm" ) ) ) ;
375+ doc . SetPdfVersion ( PdfVersion . PDF_1_3 ) ;
357376 doc . AddNewPage ( ) ;
358377 Exception e = NUnit . Framework . Assert . Catch ( typeof ( PdfAConformanceException ) , ( ) => doc . Close ( ) ) ;
359378 NUnit . Framework . Assert . AreEqual ( MessageFormatUtil . Format ( PdfaExceptionMessageConstant . THE_FILE_HEADER_SHALL_CONTAIN_RIGHT_PDF_VERSION
@@ -362,14 +381,26 @@ public virtual void CreateInvalidPdfAVersion13NumberWithPDFA4F() {
362381
363382 [ NUnit . Framework . Test ]
364383 public virtual void CreateInvalidPdfAVersionNumber17WithPDFA4E ( ) {
365- PdfWriter writer = new PdfWriter ( new PdfWriter ( new MemoryStream ( ) ) , new WriterProperties ( ) . SetPdfVersion ( PdfVersion
366- . PDF_1_7 ) ) ;
367- PdfADocument doc = new PdfADocument ( writer , PdfAConformance . PDF_A_4E , new PdfOutputIntent ( "Custom" , "" , "http://www.color.org"
368- , "sRGB IEC61966-2.1" , FileUtil . GetInputStreamForFile ( sourceFolder + "sRGB Color Space Profile.icm" ) ) ) ;
384+ PdfWriter writer = new PdfWriter ( new PdfWriter ( new MemoryStream ( ) ) , new WriterProperties ( ) ) ;
385+ PdfA4CatalogCheckTest . PdfDocumentCustomVersion doc = new PdfA4CatalogCheckTest . PdfDocumentCustomVersion ( writer
386+ , PdfAConformance . PDF_A_4E , new PdfOutputIntent ( "Custom" , "" , "http://www.color.org" , "sRGB IEC61966-2.1"
387+ , FileUtil . GetInputStreamForFile ( sourceFolder + "sRGB Color Space Profile.icm" ) ) ) ;
388+ doc . SetPdfVersion ( PdfVersion . PDF_1_7 ) ;
369389 doc . AddNewPage ( ) ;
370390 Exception e = NUnit . Framework . Assert . Catch ( typeof ( PdfAConformanceException ) , ( ) => doc . Close ( ) ) ;
371391 NUnit . Framework . Assert . AreEqual ( MessageFormatUtil . Format ( PdfaExceptionMessageConstant . THE_FILE_HEADER_SHALL_CONTAIN_RIGHT_PDF_VERSION
372392 , "2" ) , e . Message ) ;
373393 }
394+
395+ private class PdfDocumentCustomVersion : PdfADocument {
396+ public PdfDocumentCustomVersion ( PdfWriter writer , PdfAConformance aConformance , PdfOutputIntent outputIntent
397+ )
398+ : base ( writer , aConformance , outputIntent ) {
399+ }
400+
401+ public virtual void SetPdfVersion ( PdfVersion pdfVersion ) {
402+ this . pdfVersion = pdfVersion ;
403+ }
404+ }
374405 }
375406}
0 commit comments