private void EnsureTransparencyObjectsNotEmpty() { PdfFormXObject formXObject = new PdfFormXObject(new Rectangle(0f, 0f)); formXObject.SetGroup(new PdfTransparencyGroup()); pdfA2Checker.CheckFormXObject(formXObject.GetPdfObject()); }
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 CheckAppearanceStreamWithTransparencyGroup() { using (MemoryStream bos = new MemoryStream()) { using (PdfWriter writer = new PdfWriter(bos)) { using (PdfDocument document = new PdfDocument(writer)) { PdfFormXObject formXObject = new PdfFormXObject(new Rectangle(0f, 0f)); formXObject.SetGroup(new PdfTransparencyGroup()); PdfAnnotation annotation = new PdfPopupAnnotation(new Rectangle(0f, 0f)); annotation.SetNormalAppearance(formXObject.GetPdfObject()); PdfPage pageToCheck = document.AddNewPage(); pageToCheck.AddAnnotation(new PdfPopupAnnotation(new Rectangle(0f, 0f))); pageToCheck.AddAnnotation(annotation); NUnit.Framework.Assert.That(() => { pdfA2Checker.CheckSinglePage(pageToCheck); } , NUnit.Framework.Throws.InstanceOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.THE_DOCUMENT_DOES_NOT_CONTAIN_A_PDFA_OUTPUTINTENT_BUT_PAGE_CONTAINS_TRANSPARENCY_AND_DOES_NOT_CONTAIN_BLENDING_COLOR_SPACE)) ; } } } }
public virtual void CheckPatternWithTransparentFormResource() { using (MemoryStream bos = new MemoryStream()) { using (PdfWriter writer = new PdfWriter(bos)) { using (PdfDocument document = new PdfDocument(writer)) { PdfFormXObject formXObject = new PdfFormXObject(new Rectangle(0f, 0f)); formXObject.SetGroup(new PdfTransparencyGroup()); PdfPattern.Tiling tillingPattern = new PdfPattern.Tiling(0f, 0f); tillingPattern.GetResources().AddForm(formXObject); PdfPage pageToCheck = document.AddNewPage(); PdfResources pageResources = pageToCheck.GetResources(); pageResources.AddPattern(new PdfPattern.Shading(new PdfDictionary())); pageResources.AddPattern(tillingPattern); NUnit.Framework.Assert.That(() => { pdfA2Checker.CheckSinglePage(pageToCheck); } , NUnit.Framework.Throws.InstanceOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.THE_DOCUMENT_DOES_NOT_CONTAIN_A_PDFA_OUTPUTINTENT_BUT_PAGE_CONTAINS_TRANSPARENCY_AND_DOES_NOT_CONTAIN_BLENDING_COLOR_SPACE)) ; } } } }