示例#1
0
        public virtual void LayersRadioGroup()
        {
            String      outPdf     = destinationFolder + "layersRadioGroup.pdf";
            String      cmpPdf     = sourceFolder + "cmp_layersRadioGroup.pdf";
            PdfDocument pdfDoc     = new PdfDocument(new PdfWriter(outPdf));
            PdfFont     font       = PdfFontFactory.CreateFont();
            PdfLayer    radiogroup = PdfLayer.CreateTitle("Radio group", pdfDoc);
            PdfLayer    radio1     = new PdfLayer("Radiogroup: layer 1", pdfDoc);

            radio1.SetOn(true);
            PdfLayer radio2 = new PdfLayer("Radiogroup: layer 2", pdfDoc);

            radio2.SetOn(false);
            PdfLayer radio3 = new PdfLayer("Radiogroup: layer 3", pdfDoc);

            radio3.SetOn(false);
            radiogroup.AddChild(radio1);
            radiogroup.AddChild(radio2);
            radiogroup.AddChild(radio3);
            IList <PdfLayer> options = new List <PdfLayer>();

            options.Add(radio1);
            options.Add(radio2);
            options.Add(radio3);
            PdfLayer.AddOCGRadioGroup(pdfDoc, options);
            PdfCanvas canvas = new PdfCanvas(pdfDoc.AddNewPage());

            canvas.SetFontAndSize(font, 12);
            PdfLayerTestUtils.AddTextInsideLayer(radio1, canvas, "layer option 1", 50, 600);
            PdfLayerTestUtils.AddTextInsideLayer(radio2, canvas, "layer option 2", 50, 575);
            PdfLayerTestUtils.AddTextInsideLayer(radio3, canvas, "layer option 3", 50, 550);
            pdfDoc.Close();
            PdfLayerTestUtils.CompareLayers(outPdf, cmpPdf);
        }
示例#2
0
        public virtual void SetExportViewIsFalse()
        {
            String      outPdf = destinationFolder + "setExportViewIsFalse.pdf";
            String      cmpPdf = sourceFolder + "cmp_setExportViewIsFalse.pdf";
            PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outPdf));
            bool        view   = false;

            CreateCustomExportLayers(pdfDoc, view);
            PdfLayerTestUtils.CompareLayers(outPdf, cmpPdf);
        }
示例#3
0
        public virtual void ProcessTitledHierarchies()
        {
            String      srcPdf = sourceFolder + "titledHierarchies.pdf";
            String      outPdf = destinationFolder + "processTitledHierarchies.pdf";
            String      cmpPdf = sourceFolder + "cmp_processTitledHierarchies.pdf";
            PdfDocument pdfDoc = new PdfDocument(new PdfReader(srcPdf), new PdfWriter(outPdf));

            // init OCProperties to check how they are processed
            pdfDoc.GetCatalog().GetOCProperties(true);
            pdfDoc.Close();
            PdfLayerTestUtils.CompareLayers(outPdf, cmpPdf);
        }
示例#4
0
        public virtual void SetUserAndPageElement()
        {
            String      outPdf = destinationFolder + "setUserAndPageElement.pdf";
            String      cmpPdf = sourceFolder + "cmp_setUserAndPageElement.pdf";
            PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outPdf));
            PdfFont     font   = PdfFontFactory.CreateFont();
            PdfLayer    layer  = new PdfLayer("UserAndPageElement", pdfDoc);

            layer.SetUser("Org", "iText");
            layer.SetPageElement("HF");
            PdfCanvas canvas = new PdfCanvas(pdfDoc.AddNewPage());

            canvas.SetFontAndSize(font, 14);
            PdfLayerTestUtils.AddTextInsideLayer(layer, canvas, "Page 1 of 1.", 30, 780);
            pdfDoc.Close();
            PdfLayerTestUtils.CompareLayers(outPdf, cmpPdf);
        }
示例#5
0
        public virtual void SetCreatorInfoAndLanguage()
        {
            String      outPdf = destinationFolder + "setCreatorInfoAndLanguage.pdf";
            String      cmpPdf = sourceFolder + "cmp_setCreatorInfoAndLanguage.pdf";
            PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outPdf));
            PdfFont     font   = PdfFontFactory.CreateFont();
            PdfLayer    layer  = new PdfLayer("CreatorAndLanguageInfo", pdfDoc);

            layer.SetCreatorInfo("iText", "Technical");
            // australian english
            layer.SetLanguage("en-AU", true);
            PdfCanvas canvas = new PdfCanvas(pdfDoc.AddNewPage());

            canvas.SetFontAndSize(font, 14);
            PdfLayerTestUtils.AddTextInsideLayer(layer, canvas, "Some technical data in English.", 30, 530);
            pdfDoc.Close();
            PdfLayerTestUtils.CompareLayers(outPdf, cmpPdf);
        }
示例#6
0
        public virtual void ZoomNotOnPanel()
        {
            String      outPdf = destinationFolder + "zoomNotOnPanel.pdf";
            String      cmpPdf = sourceFolder + "cmp_zoomNotOnPanel.pdf";
            PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outPdf));
            PdfFont     font   = PdfFontFactory.CreateFont();
            PdfLayer    zoom   = new PdfLayer("Zoom 0.75-1.25", pdfDoc);

            zoom.SetOnPanel(false);
            zoom.SetZoom(0.75f, 1.25f);
            PdfCanvas canvas = new PdfCanvas(pdfDoc.AddNewPage());

            canvas.SetFontAndSize(font, 14);
            PdfLayerTestUtils.AddTextInsideLayer(zoom, canvas, "Only visible if the zoomfactor is between 75 and 125%"
                                                 , 30, 530);
            pdfDoc.Close();
            PdfLayerTestUtils.CompareLayers(outPdf, cmpPdf);
        }
示例#7
0
        public virtual void LockedLayer()
        {
            String      outPdf = destinationFolder + "lockedLayer.pdf";
            String      cmpPdf = sourceFolder + "cmp_lockedLayer.pdf";
            PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outPdf));
            PdfFont     font   = PdfFontFactory.CreateFont();
            PdfLayer    layer1 = new PdfLayer("Layer 1", pdfDoc);
            PdfLayer    layer2 = new PdfLayer("Layer 2", pdfDoc);

            layer2.SetLocked(true);
            PdfCanvas canvas = new PdfCanvas(pdfDoc.AddNewPage());

            canvas.SetFontAndSize(font, 12);
            PdfLayerTestUtils.AddTextInsideLayer(layer1, canvas, "Layer 1 text", 100, 700);
            PdfLayerTestUtils.AddTextInsideLayer(layer2, canvas, "Layer 2 text", 100, 650);
            pdfDoc.Close();
            PdfLayerTestUtils.CompareLayers(outPdf, cmpPdf);
        }
示例#8
0
        public virtual void OcConfigUniqueName()
        {
            String      srcPdf = sourceFolder + "ocpConfigs.pdf";
            String      outPdf = destinationFolder + "ocConfigUniqueName.pdf";
            String      cmpPdf = sourceFolder + "cmp_ocConfigUniqueName.pdf";
            PdfDocument pdfDoc = new PdfDocument(new PdfReader(srcPdf), new PdfWriter(outPdf));

            // init OCProperties to check how they are processed
            pdfDoc.GetCatalog().GetOCProperties(true);
            pdfDoc.Close();
            // start of test assertion logic
            PdfDocument   resPdf = new PdfDocument(new PdfReader(outPdf));
            PdfDictionary d      = resPdf.GetCatalog().GetPdfObject().GetAsDictionary(PdfName.OCProperties).GetAsDictionary
                                       (PdfName.D);

            NUnit.Framework.Assert.AreEqual(PdfOCProperties.OC_CONFIG_NAME_PATTERN + "2", d.GetAsString(PdfName.Name).
                                            ToUnicodeString());
            PdfLayerTestUtils.CompareLayers(outPdf, cmpPdf);
        }
示例#9
0
        public virtual void LayerGroup()
        {
            String      outPdf = destinationFolder + "layerGroup.pdf";
            String      cmpPdf = sourceFolder + "cmp_layerGroup.pdf";
            PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outPdf));
            PdfFont     font   = PdfFontFactory.CreateFont();
            PdfLayer    group  = PdfLayer.CreateTitle("Grouped layers", pdfDoc);
            PdfLayer    layer1 = new PdfLayer("Group: layer 1", pdfDoc);
            PdfLayer    layer2 = new PdfLayer("Group: layer 2", pdfDoc);

            group.AddChild(layer1);
            group.AddChild(layer2);
            PdfCanvas canvas = new PdfCanvas(pdfDoc.AddNewPage());

            canvas.SetFontAndSize(font, 12);
            PdfLayerTestUtils.AddTextInsideLayer(layer1, canvas, "layer 1 in the group", 50, 700);
            PdfLayerTestUtils.AddTextInsideLayer(layer2, canvas, "layer 2 in the group", 50, 675);
            pdfDoc.Close();
            PdfLayerTestUtils.CompareLayers(outPdf, cmpPdf);
        }
示例#10
0
        public virtual void NestedLayers()
        {
            String      outPdf   = destinationFolder + "nestedLayers.pdf";
            String      cmpPdf   = sourceFolder + "cmp_nestedLayers.pdf";
            PdfDocument pdfDoc   = new PdfDocument(new PdfWriter(outPdf));
            PdfFont     font     = PdfFontFactory.CreateFont();
            PdfLayer    nested   = new PdfLayer("Parent layer", pdfDoc);
            PdfLayer    nested_1 = new PdfLayer("Nested layer 1", pdfDoc);
            PdfLayer    nested_2 = new PdfLayer("Nested layer 2", pdfDoc);

            nested.AddChild(nested_1);
            nested.AddChild(nested_2);
            PdfCanvas canvas = new PdfCanvas(pdfDoc.AddNewPage());

            canvas.SetFontAndSize(font, 12);
            PdfLayerTestUtils.AddTextInsideLayer(nested, canvas, "Parent layer text", 50, 755);
            PdfLayerTestUtils.AddTextInsideLayer(nested_1, canvas, "Nested layer 1 text", 100, 700);
            PdfLayerTestUtils.AddTextInsideLayer(nested_2, canvas, "Nested layers 2 text", 100, 650);
            pdfDoc.Close();
            PdfLayerTestUtils.CompareLayers(outPdf, cmpPdf);
        }
示例#11
0
        public virtual void NotPrintNotOnPanel()
        {
            String      outPdf = destinationFolder + "notPrintNotOnPanel.pdf";
            String      cmpPdf = sourceFolder + "cmp_notPrintNotOnPanel.pdf";
            PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outPdf));
            PdfFont     font   = PdfFontFactory.CreateFont();
            PdfLayer    notPrintedNotOnPanel = new PdfLayer("not printed", pdfDoc);

            notPrintedNotOnPanel.SetOnPanel(false);
            notPrintedNotOnPanel.SetPrint("Print", false);
            PdfCanvas canvas = new PdfCanvas(pdfDoc.AddNewPage());

            canvas.SetFontAndSize(font, 14);
            PdfLayerTestUtils.AddTextInsideLayer(null, canvas, "Normal page content, hello lorem ispum!", 100, 750);
            canvas.BeginLayer(notPrintedNotOnPanel);
            canvas.BeginText().SetFontAndSize(font, 24).MoveText(100, 700).ShowText("WHEN PRINTED THIS LINE IS NOT THERE"
                                                                                    ).EndText();
            canvas.BeginText().SetFontAndSize(font, 16).MoveText(100, 680).ShowText("(this text layer is not in the layers panel as well)"
                                                                                    ).EndText();
            canvas.EndLayer();
            pdfDoc.Close();
            PdfLayerTestUtils.CompareLayers(outPdf, cmpPdf);
        }