public virtual void TestInStamperMode2() { PdfDocument pdfDoc = new PdfDocument(new PdfReader(sourceFolder + "input_layered.pdf"), new PdfWriter(destinationFolder + "output_layered.pdf")); PdfCanvas canvas = new PdfCanvas(pdfDoc, 1); PdfLayer newLayer = new PdfLayer("appended", pdfDoc); canvas.SetFontAndSize(PdfFontFactory.CreateFont(StandardFonts.HELVETICA), 18); PdfLayerTestUtils.AddTextInsideLayer(newLayer, canvas, "APPENDED CONTENT", 200, 600); IList <PdfLayer> allLayers = pdfDoc.GetCatalog().GetOCProperties(true).GetLayers(); foreach (PdfLayer layer in allLayers) { if (layer.IsLocked()) { layer.SetLocked(false); } if ("Grouped layers".Equals(layer.GetTitle())) { layer.AddChild(newLayer); } } pdfDoc.Close(); NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(destinationFolder + "output_layered.pdf", sourceFolder + "cmp_output_layered.pdf", destinationFolder, "diff")); }
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); }
private void CreateCustomExportLayers(PdfDocument pdfDoc, bool view) { PdfFont font = PdfFontFactory.CreateFont(); PdfLayer layerTrue = new PdfLayer("Export - true", pdfDoc); layerTrue.SetExport(true); layerTrue.SetView(view); PdfLayer layerFalse = new PdfLayer("Export - false", pdfDoc); layerFalse.SetExport(false); layerFalse.SetView(view); PdfLayer layerDflt = new PdfLayer("Export - default", pdfDoc); layerDflt.SetView(view); PdfCanvas canvas = new PdfCanvas(pdfDoc.AddNewPage()); canvas.SetFontAndSize(font, 24); PdfLayerTestUtils.AddTextInsideLayer(null, canvas, "Export this PDF as image!", 30, 580); canvas.SetFontAndSize(font, 14); PdfLayerTestUtils.AddTextInsideLayer(layerTrue, canvas, "Export layer - true.", 30, 780); PdfLayerTestUtils.AddTextInsideLayer(null, canvas, "When saved as image text above is expected to be shown." , 30, 765); PdfLayerTestUtils.AddTextInsideLayer(layerFalse, canvas, "Export layer - false.", 30, 730); PdfLayerTestUtils.AddTextInsideLayer(null, canvas, "When saved as image text above is expected to be hidden." , 30, 715); PdfLayerTestUtils.AddTextInsideLayer(layerDflt, canvas, "Export layer - default.", 30, 680); PdfLayerTestUtils.AddTextInsideLayer(null, canvas, "When saved as image text above is expected to have layer visibility." , 30, 665); pdfDoc.Close(); }
public virtual void DisabledVisualExpressionTest01() { String srcPdf = "sourceWithDifferentLayers.pdf"; String destPdf = "disabledVisualExpressionTest01.pdf"; String cmpPdf = "cmp_" + destPdf; PdfDocument pdfDoc = new PdfDocument(new PdfReader(sourceFolder + srcPdf), new PdfWriter(destinationFolder + destPdf)); PdfCanvas canvas = new PdfCanvas(pdfDoc.GetFirstPage()); canvas.SetFontAndSize(PdfFontFactory.CreateFont(StandardFonts.HELVETICA), 18); IList <PdfLayer> allLayers = pdfDoc.GetCatalog().GetOCProperties(true).GetLayers(); PdfLayerMembership layerMembershipAnyOn = new PdfLayerMembership(pdfDoc); // create expression with the AND operator as the first operand PdfVisibilityExpression expression = new PdfVisibilityExpression(PdfName.And); // add an empty dictionary as the second operand expression.AddOperand(allLayers[1]); // create a nested expression with the AND operator and two empty dictionaries as operands PdfVisibilityExpression nestedExpression = new PdfVisibilityExpression(PdfName.And); nestedExpression.AddOperand(allLayers[0]); nestedExpression.AddOperand(allLayers[2]); // add another expression as the third operand expression.AddOperand(nestedExpression); layerMembershipAnyOn.AddLayer(allLayers[0]); layerMembershipAnyOn.AddLayer(allLayers[1]); layerMembershipAnyOn.SetVisibilityExpression(expression); PdfLayerTestUtils.AddTextInsideLayer(layerMembershipAnyOn, canvas, "visualExpressionTest01", 200, 500); pdfDoc.Close(); NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(destinationFolder + destPdf, sourceFolder + cmpPdf, destinationFolder)); }
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); }
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); }
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); }
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); }
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); }
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); }
public virtual void DisabledVisibilityPolicyAllOnTest() { String srcPdf = "sourceWithDifferentLayers.pdf"; String destPdf = "disabledVisibilityPolicyAllOnTest.pdf"; String cmpPdf = "cmp_" + destPdf; PdfDocument pdfDoc = new PdfDocument(new PdfReader(sourceFolder + srcPdf), new PdfWriter(destinationFolder + destPdf)); PdfCanvas canvas = new PdfCanvas(pdfDoc.GetFirstPage()); canvas.SetFontAndSize(PdfFontFactory.CreateFont(StandardFonts.HELVETICA), 18); IList <PdfLayer> allLayers = pdfDoc.GetCatalog().GetOCProperties(true).GetLayers(); PdfLayerMembership layerMembershipAllOn = new PdfLayerMembership(pdfDoc); layerMembershipAllOn.AddLayer(allLayers[1]); layerMembershipAllOn.AddLayer(allLayers[0]); layerMembershipAllOn.SetVisibilityPolicy(PdfName.AllOn); PdfLayerTestUtils.AddTextInsideLayer(layerMembershipAllOn, canvas, "visibilityPolicyAllOnTest", 200, 500); pdfDoc.Close(); NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(destinationFolder + destPdf, sourceFolder + cmpPdf, destinationFolder)); }
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); }