public virtual void ColorCheckTest1() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_1B, outputIntent); doc.AddNewPage(); PdfCanvas canvas = new PdfCanvas(doc.GetLastPage()); canvas.SetFillColor(new DeviceCmyk(0.1f, 0.1f, 0.1f, 0.1f)); canvas.MoveTo(doc.GetDefaultPageSize().GetLeft(), doc.GetDefaultPageSize().GetBottom()); canvas.LineTo(doc.GetDefaultPageSize().GetRight(), doc.GetDefaultPageSize().GetBottom()); canvas.LineTo(doc.GetDefaultPageSize().GetRight(), doc.GetDefaultPageSize().GetTop()); canvas.Fill(); canvas.SetFillColor(ColorConstants.RED); canvas.MoveTo(doc.GetDefaultPageSize().GetRight(), doc.GetDefaultPageSize().GetTop()); canvas.LineTo(doc.GetDefaultPageSize().GetRight(), doc.GetDefaultPageSize().GetBottom()); canvas.LineTo(doc.GetDefaultPageSize().GetLeft(), doc.GetDefaultPageSize().GetBottom()); canvas.Fill(); doc.Close(); } , NUnit.Framework.Throws.TypeOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.DEVICERGB_AND_DEVICECMYK_COLORSPACES_CANNOT_BE_USED_BOTH_IN_ONE_FILE)); ; }
public virtual void CanvasCheckTest2() { String outPdf = destinationFolder + "pdfA2b_canvasCheckTest2.pdf"; String cmpPdf = sourceFolder + "cmp/PdfA2CanvasCheckTest/cmp_pdfA2b_canvasCheckTest2.pdf"; PdfWriter writer = new PdfWriter(outPdf); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument pdfDocument = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_2B, outputIntent); pdfDocument.AddNewPage(); PdfCanvas canvas = new PdfCanvas(pdfDocument.GetLastPage()); for (int i = 0; i < 28; i++) { canvas.SaveState(); } for (int i = 0; i < 28; i++) { canvas.RestoreState(); } pdfDocument.Close(); String result = new CompareTool().CompareByContent(outPdf, cmpPdf, destinationFolder, "diff_"); if (result != null) { NUnit.Framework.Assert.Fail(result); } }
public virtual void CanvasCheckTest3() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument pdfDocument = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_1B, outputIntent); pdfDocument.AddNewPage(); PdfCanvas canvas = new PdfCanvas(pdfDocument.GetLastPage()); canvas.SetRenderingIntent(new PdfName("Test")); pdfDocument.Close(); } , NUnit.Framework.Throws.TypeOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.IfSpecifiedRenderingShallBeOneOfTheFollowingRelativecolorimetricAbsolutecolorimetricPerceptualOrSaturation)); ; }
public virtual void ImageCheckTest3() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_2B, outputIntent); doc.AddNewPage(); PdfCanvas canvas = new PdfCanvas(doc.GetLastPage()); canvas.AddImage(ImageDataFactory.Create(sourceFolder + "jpeg2000/file7.jp2"), 300, 300, false); doc.Close(); } , NUnit.Framework.Throws.TypeOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.ExactlyOneColourSpaceSpecificationShallHaveTheValue0x01InTheApproxField)); ; }
public virtual void ImageCheckTest3() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_2B, outputIntent); doc.AddNewPage(); PdfCanvas canvas = new PdfCanvas(doc.GetLastPage()); canvas.AddImage(ImageDataFactory.Create(sourceFolder + "jpeg2000/file7.jp2"), 300, 300, false); doc.Close(); } , NUnit.Framework.Throws.InstanceOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.EXACTLY_ONE_COLOUR_SPACE_SPECIFICATION_SHALL_HAVE_THE_VALUE_0X01_IN_THE_APPROX_FIELD)) ; }
public virtual void CanvasCheckTest3() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument pdfDocument = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_2B, outputIntent); pdfDocument.AddNewPage(); PdfCanvas canvas = new PdfCanvas(pdfDocument.GetLastPage()); canvas.SetRenderingIntent(new PdfName("Test")); pdfDocument.Close(); } , NUnit.Framework.Throws.InstanceOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.IF_SPECIFIED_RENDERING_SHALL_BE_ONE_OF_THE_FOLLOWING_RELATIVECOLORIMETRIC_ABSOLUTECOLORIMETRIC_PERCEPTUAL_OR_SATURATION)) ; }
public virtual void ImageCheckTest1() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_2B, outputIntent); doc.AddNewPage(); PdfCanvas canvas = new PdfCanvas(doc.GetLastPage()); canvas.AddImage(ImageDataFactory.Create(sourceFolder + "jpeg2000/p0_01.j2k"), 300, 300, false); doc.Close(); } , NUnit.Framework.Throws.InstanceOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.ONLY_JPX_BASELINE_SET_OF_FEATURES_SHALL_BE_USED)) ; }
public virtual void ColorCheckTest3() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_1B, null); doc.AddNewPage(); PdfCanvas canvas = new PdfCanvas(doc.GetLastPage()); canvas.SetFillColor(Color.GREEN); canvas.MoveTo(doc.GetDefaultPageSize().GetLeft(), doc.GetDefaultPageSize().GetBottom()); canvas.LineTo(doc.GetDefaultPageSize().GetRight(), doc.GetDefaultPageSize().GetBottom()); canvas.LineTo(doc.GetDefaultPageSize().GetRight(), doc.GetDefaultPageSize().GetTop()); canvas.Fill(); doc.Close(); } , NUnit.Framework.Throws.TypeOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.IfDeviceRgbCmykGrayUsedInFileThatFileShallContainPdfaOutputIntent)); ; }
public virtual void EgsCheckTest3() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_1B, outputIntent); doc.AddNewPage(); PdfCanvas canvas = new PdfCanvas(doc.GetLastPage()); canvas.SetExtGState(new PdfExtGState().SetTransferFunction2(new PdfName("Test"))); canvas.Rectangle(30, 30, 100, 100).Fill(); doc.Close(); } , NUnit.Framework.Throws.TypeOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.AnExtgstateDictionaryShallNotContainTheTR2KeyWithAValueOtherThanDefault)); ; }
public virtual void TransparencyCheckTest2() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_1B, outputIntent); doc.AddNewPage(); PdfCanvas canvas = new PdfCanvas(doc.GetLastPage()); canvas.SetExtGState(new PdfExtGState().SetSoftMask(new PdfName("Test"))); canvas.Rectangle(30, 30, 100, 100).Fill(); doc.Close(); } , NUnit.Framework.Throws.TypeOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.THE_SMASK_KEY_IS_NOT_ALLOWED_IN_EXTGSTATE)); ; }
public virtual void ColorCheckTest3() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_1B, null); doc.AddNewPage(); PdfCanvas canvas = new PdfCanvas(doc.GetLastPage()); canvas.SetFillColor(ColorConstants.GREEN); canvas.MoveTo(doc.GetDefaultPageSize().GetLeft(), doc.GetDefaultPageSize().GetBottom()); canvas.LineTo(doc.GetDefaultPageSize().GetRight(), doc.GetDefaultPageSize().GetBottom()); canvas.LineTo(doc.GetDefaultPageSize().GetRight(), doc.GetDefaultPageSize().GetTop()); canvas.Fill(); doc.Close(); } , NUnit.Framework.Throws.TypeOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.IF_DEVICE_RGB_CMYK_GRAY_USED_IN_FILE_THAT_FILE_SHALL_CONTAIN_PDFA_OUTPUTINTENT)); ; }
public virtual void EgsCheckTest1() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_2B, outputIntent); doc.AddNewPage(); PdfCanvas canvas = new PdfCanvas(doc.GetLastPage()); canvas.SetExtGState(new PdfExtGState().Put(PdfName.HTP, new PdfName("Test"))); canvas.Rectangle(30, 30, 100, 100).Fill(); doc.Close(); } , NUnit.Framework.Throws.InstanceOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.AN_EXTGSTATE_DICTIONARY_SHALL_NOT_CONTAIN_THE_HTP_KEY)) ; }
public virtual void TransparencyCheckTest3() { String outPdf = destinationFolder + "pdfA1b_transparencyCheckTest3.pdf"; String cmpPdf = cmpFolder + "cmp_pdfA1b_transparencyCheckTest3.pdf"; PdfWriter writer = new PdfWriter(outPdf); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_1B, outputIntent); doc.AddNewPage(); PdfCanvas canvas = new PdfCanvas(doc.GetLastPage()); canvas.SetExtGState(new PdfExtGState().SetSoftMask(PdfName.None)); canvas.Rectangle(30, 30, 100, 100).Fill(); doc.Close(); CompareResult(outPdf, cmpPdf); }
public virtual void EgsCheckTest2() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_2B, outputIntent); doc.AddNewPage(); PdfCanvas canvas = new PdfCanvas(doc.GetLastPage()); PdfDictionary dict = new PdfDictionary(); dict.Put(PdfName.HalftoneType, new PdfNumber(5)); dict.Put(PdfName.HalftoneName, new PdfName("Test")); canvas.SetExtGState(new PdfExtGState().SetHalftone(dict)); canvas.Rectangle(30, 30, 100, 100).Fill(); doc.Close(); } , NUnit.Framework.Throws.TypeOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.HALFTONES_SHALL_NOT_CONTAIN_HALFTONENAME)); ; }
public virtual void TransparencyCheckTest1() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_1B, outputIntent); doc.AddNewPage(); PdfCanvas canvas = new PdfCanvas(doc.GetLastPage()); PdfFormXObject xObject = new PdfFormXObject(new Rectangle(100, 100)); PdfCanvas xObjCanvas = new PdfCanvas(xObject, doc); xObjCanvas.Rectangle(30, 30, 10, 10).Fill(); PdfTransparencyGroup group = new PdfTransparencyGroup(); xObject.SetGroup(group); canvas.AddXObject(xObject, new Rectangle(300, 300)); doc.Close(); } , NUnit.Framework.Throws.InstanceOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.A_GROUP_OBJECT_WITH_AN_S_KEY_WITH_A_VALUE_OF_TRANSPARENCY_SHALL_NOT_BE_INCLUDED_IN_A_FORM_XOBJECT)) ; }
public virtual void ColorCheckTest4() { String outPdf = destinationFolder + "pdfA1b_colorCheckTest4.pdf"; String cmpPdf = cmpFolder + "cmp_pdfA1b_colorCheckTest4.pdf"; PdfWriter writer = new PdfWriter(outPdf); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_1B, outputIntent); doc.AddNewPage(); PdfCanvas canvas = new PdfCanvas(doc.GetLastPage()); canvas.SetFillColor(ColorConstants.GREEN); canvas.MoveTo(doc.GetDefaultPageSize().GetLeft(), doc.GetDefaultPageSize().GetBottom()); canvas.LineTo(doc.GetDefaultPageSize().GetRight(), doc.GetDefaultPageSize().GetBottom()); canvas.LineTo(doc.GetDefaultPageSize().GetRight(), doc.GetDefaultPageSize().GetTop()); canvas.Fill(); doc.Close(); CompareResult(outPdf, cmpPdf); }
public virtual void CanvasCheckTest1() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new ByteArrayOutputStream()); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument pdfDocument = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_2B, outputIntent); pdfDocument.AddNewPage(); PdfCanvas canvas = new PdfCanvas(pdfDocument.GetLastPage()); for (int i = 0; i < 29; i++) { canvas.SaveState(); } for (int i = 0; i < 28; i++) { canvas.RestoreState(); } pdfDocument.Close(); } , NUnit.Framework.Throws.InstanceOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.GRAPHICS_STATE_STACK_DEPTH_IS_GREATER_THAN_28)) ; }
public virtual void FlushingTest02() { String outPdf = destinationFolder + "pdfA2b_flushingTest02.pdf"; String cmpPdf = sourceFolder + "cmp/PdfAFlushingTest/cmp_pdfA2b_flushingTest02.pdf"; PdfWriter writer = new PdfWriter(outPdf); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_2B, new PdfOutputIntent("Custom", "" , "http://www.color.org", "sRGB IEC61966-2.1", @is)); PdfCanvas canvas = new PdfCanvas(doc.AddNewPage()); PdfImageXObject imageXObject = new PdfImageXObject(ImageDataFactory.Create(sourceFolder + "Desert.jpg")); imageXObject.MakeIndirect(doc); canvas.AddXObject(imageXObject, new Rectangle(30, 300, 300, 300)); PdfPage lastPage = doc.GetLastPage(); lastPage.Flush(); if (lastPage.IsFlushed()) { NUnit.Framework.Assert.Fail("Flushing of unchecked objects shall be forbidden."); } doc.Close(); CompareResult(outPdf, cmpPdf); }
public virtual void CanvasCheckTest1() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument pdfDocument = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_1B, outputIntent); pdfDocument.AddNewPage(); PdfCanvas canvas = new PdfCanvas(pdfDocument.GetLastPage()); for (int i = 0; i < 29; i++) { canvas.SaveState(); } for (int i_1 = 0; i_1 < 28; i_1++) { canvas.RestoreState(); } pdfDocument.Close(); } , NUnit.Framework.Throws.TypeOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.GraphicStateStackDepthIsGreaterThan28)); ; }
public virtual void FlushingTest03() { String outPdf = destinationFolder + "pdfA3b_flushingTest03.pdf"; String cmpPdf = sourceFolder + "cmp/PdfAFlushingTest/cmp_pdfA3b_flushingTest03.pdf"; PdfWriter writer = new PdfWriter(outPdf); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_3B, new PdfOutputIntent("Custom", "" , "http://www.color.org", "sRGB IEC61966-2.1", @is)); PdfCanvas canvas = new PdfCanvas(doc.AddNewPage()); PdfImageXObject imageXObject = new PdfImageXObject(ImageDataFactory.Create(sourceFolder + "Desert.jpg")); canvas.AddXObject(imageXObject, new Rectangle(30, 300, 300, 300)); PdfPage lastPage = doc.GetLastPage(); lastPage.Flush(true); if (!imageXObject.IsFlushed()) { NUnit.Framework.Assert.Fail("When flushing the page along with it's resources, page check should be performed also page and all resources should be flushed." ); } doc.Close(); CompareResult(outPdf, cmpPdf); }
public virtual void TransparencyCheckTest1() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); Stream @is = new FileStream(sourceFolder + "sRGB Color Space Profile.icm", FileMode.Open, FileAccess.Read); PdfOutputIntent outputIntent = new PdfOutputIntent("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1" , @is); PdfADocument doc = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_1B, outputIntent); doc.AddNewPage(); PdfCanvas canvas = new PdfCanvas(doc.GetLastPage()); PdfFormXObject xObject = new PdfFormXObject(new Rectangle(100, 100)); PdfCanvas xObjCanvas = new PdfCanvas(xObject, doc); xObjCanvas.Rectangle(30, 30, 10, 10).Fill(); //imitating transparency group //todo replace with real transparency group logic when implemented PdfDictionary group = new PdfDictionary(); group.Put(PdfName.S, PdfName.Transparency); xObject.Put(PdfName.Group, group); canvas.AddXObject(xObject, new Rectangle(300, 300)); doc.Close(); } , NUnit.Framework.Throws.TypeOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.AGroupObjectWithAnSKeyWithAValueOfTransparencyShallNotBeIncludedInAFormXobject)); ; }