Esempio n. 1
0
        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))
     ;
 }
Esempio n. 3
0
 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))
                 ;
             }
         }
     }
 }
Esempio n. 4
0
 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))
                 ;
             }
         }
     }
 }