Esempio n. 1
0
        public virtual void ColorTest08()
        {
            PdfWriter writer = new PdfWriter(destinationFolder + "colorTest08.pdf");

            writer.SetCompressionLevel(CompressionConstants.NO_COMPRESSION);
            PdfDocument document = new PdfDocument(writer);
            PdfPage     page     = document.AddNewPage();

            PdfFunction.Type4 function = new PdfFunction.Type4(new PdfArray(new float[] { 0, 1, 0, 1 }), new PdfArray(
                                                                   new float[] { 0, 1, 0, 1, 0, 1 }), "{0}".GetBytes(iText.IO.Util.EncodingUtil.ISO_8859_1));
            List <String> tmpArray = new List <String>(2);

            tmpArray.Add("MyRed");
            tmpArray.Add("MyGreen");
            PdfSpecialCs.DeviceN deviceN = new PdfSpecialCs.DeviceN(tmpArray, new PdfDeviceCs.Rgb(), function);
            PdfCanvas            canvas  = new PdfCanvas(page);

            canvas.SetFillColor(new DeviceN(deviceN, new float[] { 0, 0 })).Rectangle(50, 500, 50, 50).Fill();
            canvas.SetFillColor(new DeviceN(deviceN, new float[] { 0, 1 })).Rectangle(150, 500, 50, 50).Fill();
            canvas.SetFillColor(new DeviceN(deviceN, new float[] { 1, 0 })).Rectangle(250, 500, 50, 50).Fill();
            canvas.Release();
            document.Close();
            NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(destinationFolder + "colorTest08.pdf", sourceFolder
                                                                             + "cmp_colorTest08.pdf", destinationFolder, "diff_"));
        }
        private PdfColorSpace BuildDeviceNColorspace(int numberOfComponents)
        {
            IList <String> tmpArray = new List <String>(numberOfComponents);

            float[] transformArray = new float[numberOfComponents * 2];
            for (int i = 0; i < numberOfComponents; i++)
            {
                tmpArray.Add("MyColor" + i + 1);
                transformArray[i * 2]     = 0;
                transformArray[i * 2 + 1] = 1;
            }
            PdfFunction.Type4 function = new PdfFunction.Type4(new PdfArray(transformArray), new PdfArray(new float[]
                                                                                                          { 0, 1, 0, 1, 0, 1 }), "{0}".GetBytes(iText.IO.Util.EncodingUtil.ISO_8859_1));
            return(new PdfSpecialCs.DeviceN(tmpArray, new PdfDeviceCs.Rgb(), function));
        }
Esempio n. 3
0
        public virtual void ColorTest07()
        {
            PdfWriter writer = new PdfWriter(DESTINATION_FOLDER + "colorTest07.pdf");

            writer.SetCompressionLevel(CompressionConstants.NO_COMPRESSION);
            PdfDocument document = new PdfDocument(writer);
            PdfPage     page     = document.AddNewPage();

            PdfFunction.Type4 function = new PdfFunction.Type4(new PdfArray(new float[] { 0, 1 }), new PdfArray(new float
                                                                                                                [] { 0, 1, 0, 1, 0, 1 }), "{0 0}".GetBytes(iText.IO.Util.EncodingUtil.ISO_8859_1));
            PdfSpecialCs.Separation separation = new PdfSpecialCs.Separation("MyRed", new PdfDeviceCs.Rgb(), function);
            PdfCanvas canvas = new PdfCanvas(page);

            canvas.SetFillColor(new Separation(separation, 0.25f)).Rectangle(50, 500, 50, 50).Fill();
            canvas.SetFillColor(new Separation(separation, 0.5f)).Rectangle(150, 500, 50, 50).Fill();
            canvas.SetFillColor(new Separation(separation, 0.75f)).Rectangle(250, 500, 50, 50).Fill();
            canvas.Release();
            document.Close();
            NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(DESTINATION_FOLDER + "colorTest07.pdf", SOURCE_FOLDER
                                                                             + "cmp_colorTest07.pdf", DESTINATION_FOLDER, "diff_"));
        }
        private PdfColorSpace BuildDeviceNColorspace(int numberOfComponents)
        {
            IList <String> tmpArray = new List <String>(numberOfComponents);

            float[] transformArray = new float[numberOfComponents * 2];
            for (int i = 0; i < numberOfComponents; i++)
            {
                tmpArray.Add("MyColor" + i + 1);
                transformArray[i * 2]     = 0;
                transformArray[i * 2 + 1] = 1;
            }
            PdfFunction.Type4 function = new PdfFunction.Type4(new PdfArray(transformArray), new PdfArray(new float[]
                                                                                                          { 0, 1, 0, 1, 0, 1 }), "{0}".GetBytes(iText.IO.Util.EncodingUtil.ISO_8859_1));
            //TODO DEVSIX-4205 Replace with a constructor with 4 parameters or use a setter for attributes dictionary
            PdfArray deviceNAsArray = ((PdfArray)(new PdfSpecialCs.DeviceN(tmpArray, new PdfDeviceCs.Rgb(), function))
                                       .GetPdfObject());
            PdfDictionary attributes = new PdfDictionary();

            deviceNAsArray.Add(attributes);
            return(new PdfSpecialCs.DeviceN(deviceNAsArray));
        }
Esempio n. 5
0
 public virtual void DeviceNColorspaceNoAttributesDictionary()
 {
     NUnit.Framework.Assert.That(() => {
         //TODO DEVSIX-4203 should not cause an IndexOutOfBoundException.
         // Should throw PdfAConformanceException as Colorants dictionary always must be present
         // for Pdf/A-2
         int numberOfComponents  = 2;
         IList <String> tmpArray = new List <String>(numberOfComponents);
         float[] transformArray  = new float[numberOfComponents * 2];
         for (int i = 0; i < numberOfComponents; i++)
         {
             tmpArray.Add("MyColor" + i + 1);
             transformArray[i * 2]     = 0;
             transformArray[i * 2 + 1] = 1;
         }
         PdfFunction.Type4 function = new PdfFunction.Type4(new PdfArray(transformArray), new PdfArray(new float[]
                                                                                                       { 0, 1, 0, 1, 0, 1 }), "{0}".GetBytes(iText.IO.Util.EncodingUtil.ISO_8859_1));
         PdfDictionary currentColorSpaces = new PdfDictionary();
         pdfA2Checker.CheckColorSpace(new PdfSpecialCs.DeviceN(tmpArray, new PdfDeviceCs.Rgb(), function), currentColorSpaces
                                      , true, false);
     }
                                 , NUnit.Framework.Throws.InstanceOf <Exception>())
     ;
 }