public virtual void FileSpecCheckTest02() { String outPdf = destinationFolder + "pdfA2b_fileSpecCheckTest02.pdf"; String cmpPdf = cmpFolder + "cmp_pdfA2b_fileSpecCheckTest02.pdf"; PdfWriter writer = new PdfWriter(outPdf); 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 pdfDocument = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_2B, outputIntent); PdfPage page = pdfDocument.AddNewPage(); PdfFont font = PdfFontFactory.CreateFont(sourceFolder + "FreeSans.ttf", "WinAnsi", true); PdfCanvas canvas = new PdfCanvas(page); canvas.SaveState().BeginText().MoveText(36, 700).SetFontAndSize(font, 36).ShowText("Hello World!").EndText ().RestoreState(); FileStream fis = new FileStream(sourceFolder + "pdfa.pdf", FileMode.Open, FileAccess.Read); MemoryStream os = new MemoryStream(); byte[] buffer = new byte[1024]; int length; while ((length = fis.JRead(buffer, 0, buffer.Length)) > 0) { os.Write(buffer, 0, length); } pdfDocument.AddFileAttachment("some pdf file", PdfFileSpec.CreateEmbeddedFileSpec(pdfDocument, os.ToArray( ), "some pdf file", "foo.pdf", PdfName.ApplicationPdf, null, null)); pdfDocument.Close(); CompareResult(outPdf, cmpPdf); }
public virtual void FileSpecCheckTest01() { String outPdf = destinationFolder + "pdfA3b_fileSpecCheckTest01.pdf"; String cmpPdf = cmpFolder + "cmp_pdfA3b_fileSpecCheckTest01.pdf"; PdfWriter writer = new PdfWriter(outPdf); 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 pdfDocument = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_3B, outputIntent); PdfPage page = pdfDocument.AddNewPage(); PdfFont font = PdfFontFactory.CreateFont(sourceFolder + "FreeSans.ttf", "WinAnsi", true); PdfCanvas canvas = new PdfCanvas(page); canvas.SaveState().BeginText().MoveText(36, 700).SetFontAndSize(font, 36).ShowText("Hello World!").EndText ().RestoreState(); MemoryStream txt = new MemoryStream(); StreamWriter @out = new StreamWriter(txt); @out.Write("<foo><foo2>Hello world</foo2></foo>"); @out.Close(); pdfDocument.AddFileAttachment("foo file", txt.ToArray(), "foo.xml", PdfName.ApplicationXml, null, PdfName. Source); pdfDocument.Close(); CompareResult(outPdf, cmpPdf); }
public virtual void FileSpecCheckTest03() { 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 pdfDocument = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_2B, outputIntent); PdfPage page = pdfDocument.AddNewPage(); PdfFont font = PdfFontFactory.CreateFont(sourceFolder + "FreeSans.ttf", "WinAnsi", true); PdfCanvas canvas = new PdfCanvas(page); canvas.SaveState().BeginText().MoveText(36, 700).SetFontAndSize(font, 36).ShowText("Hello World!").EndText ().RestoreState(); MemoryStream txt = new MemoryStream(); StreamWriter @out = new StreamWriter(txt); @out.Write("<foo><foo2>Hello world</foo2></foo>"); @out.Close(); pdfDocument.AddFileAttachment("foo file", txt.ToArray(), "foo.xml", PdfName.ApplicationXml, null, PdfName. Source); pdfDocument.Close(); } , NUnit.Framework.Throws.TypeOf <PdfAConformanceException>().With.Message.EqualTo(PdfAConformanceException.EmbeddedFileShallBeOfPdfMimeType)); ; }
public virtual void FileSpecCheckTest01() { // According to spec, only pdfa-1 or pdfa-2 compliant pdf document are allowed to be added to the // conforming pdfa-2 document. We only check they mime type, to define embedded file type, but we don't check // the bytes of the file. That's why this test creates invalid pdfa document. String outPdf = destinationFolder + "pdfA2b_fileSpecCheckTest01.pdf"; String cmpPdf = cmpFolder + "cmp_pdfA2b_fileSpecCheckTest01.pdf"; PdfWriter writer = new PdfWriter(outPdf); 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 pdfDocument = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_2B, outputIntent); PdfPage page = pdfDocument.AddNewPage(); PdfFont font = PdfFontFactory.CreateFont(sourceFolder + "FreeSans.ttf", "WinAnsi", true); PdfCanvas canvas = new PdfCanvas(page); canvas.SaveState().BeginText().MoveText(36, 700).SetFontAndSize(font, 36).ShowText("Hello World!").EndText ().RestoreState(); byte[] somePdf = new byte[25]; pdfDocument.AddFileAttachment("some pdf file", somePdf, "foo.pdf", PdfName.ApplicationPdf, null, new PdfName ("Data")); pdfDocument.Close(); CompareResult(outPdf, cmpPdf); }