public virtual void NestedXObjectWithTransparencyTest() { NUnit.Framework.Assert.That(() => { PdfWriter writer = new PdfWriter(new MemoryStream()); PdfDocument pdfDocument = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_3B, null); PdfFormXObject form1 = new PdfFormXObject(new Rectangle(0, 0, 50, 50)); PdfCanvas canvas1 = new PdfCanvas(form1, pdfDocument); canvas1.SaveState(); PdfExtGState state = new PdfExtGState(); state.SetFillOpacity(0.6f); canvas1.SetExtGState(state); canvas1.Circle(25, 25, 10); canvas1.Fill(); canvas1.RestoreState(); canvas1.Release(); form1.Flush(); //Create form XObject and flush to document. PdfFormXObject form = new PdfFormXObject(new Rectangle(0, 0, 50, 50)); PdfCanvas canvas = new PdfCanvas(form, pdfDocument); canvas.Rectangle(10, 10, 30, 30); canvas.Stroke(); canvas.AddXObject(form1, 0, 0); canvas.Release(); form.Flush(); //Create page1 and add forms to the page. PdfPage page1 = pdfDocument.AddNewPage(); canvas = new PdfCanvas(page1); canvas.AddXObject(form, 0, 0); canvas.Release(); pdfDocument.Close(); } , NUnit.Framework.Throws.InstanceOf <PdfAConformanceException>().With.Message.EqualTo(MessageFormatUtil.Format(PdfAConformanceException.THE_DOCUMENT_DOES_NOT_CONTAIN_A_PDFA_OUTPUTINTENT_BUT_PAGE_CONTAINS_TRANSPARENCY_AND_DOES_NOT_CONTAIN_BLENDING_COLOR_SPACE))) ; }
private PdfFormXObject CreateFormXObject(PdfDocument pdfDocument) { ImageData image = ImageDataFactory.Create(sourceFolder + "itis.jpg"); PdfFormXObject template = new PdfFormXObject(new Rectangle(image.GetWidth(), image.GetHeight())); PdfCanvas canvas = new PdfCanvas(template, pdfDocument); canvas.AddImage(image, 0, 0, image.GetWidth(), false).Flush(); canvas.Release(); template.Flush(); return(template); }
public virtual void CreateDocumentWithForms() { String destinationDocument = destinationFolder + "documentWithForms1.pdf"; FileStream fos = new FileStream(destinationDocument, FileMode.Create); PdfWriter writer = new PdfWriter(fos); PdfDocument document = new PdfDocument(writer); //Create form XObject and flush to document. PdfFormXObject form = new PdfFormXObject(new Rectangle(0, 0, 50, 50)); PdfCanvas canvas = new PdfCanvas(form, document); canvas.Rectangle(10, 10, 30, 30); canvas.Fill(); canvas.Release(); form.Flush(); //Create page1 and add forms to the page. PdfPage page1 = document.AddNewPage(); canvas = new PdfCanvas(page1); canvas.AddXObject(form, 0, 0).AddXObject(form, 50, 0).AddXObject(form, 0, 50).AddXObject(form, 50, 50); canvas.Release(); //Create form from the page1 and flush it. form = new PdfFormXObject(page1); form.Flush(); //Now page1 can be flushed. It's not needed anymore. page1.Flush(); //Create page2 and add forms to the page. PdfPage page2 = document.AddNewPage(); canvas = new PdfCanvas(page2); canvas.AddXObject(form, 0, 0); canvas.AddXObject(form, 0, 200); canvas.AddXObject(form, 200, 0); canvas.AddXObject(form, 200, 200); canvas.Release(); page2.Flush(); document.Close(); NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(destinationDocument, sourceFolder + "cmp_documentWithForms1.pdf" , destinationFolder, "diff_")); }