/// <summary> /// Attaches the HTML content stored in a document node to /// an existing PDF document, using specific converter properties, /// and returning an iText /// <see cref="iText.Layout.Document"/> /// object. /// </summary> /// <param name="documentNode">the document node with the HTML</param> /// <param name="pdfDocument"> /// the /// <see cref="iText.Kernel.Pdf.PdfDocument"/> /// instance /// </param> /// <param name="converterProperties"> /// the /// <see cref="iText.Html2pdf.ConverterProperties"/> /// instance /// </param> /// <returns> /// an iText /// <see cref="iText.Layout.Document"/> /// object /// </returns> public static Document Attach(IDocumentNode documentNode, PdfDocument pdfDocument, ConverterProperties converterProperties ) { IHtmlProcessor processor = new DefaultHtmlProcessor(converterProperties); return(processor.ProcessDocument(documentNode, pdfDocument)); }
public virtual void DoNotResetFontProviderTest() { NUnit.Framework.Assert.That(() => { FileStream fileInputStream = new FileStream(sourceFolder + "justHelloWorld.html", FileMode.Open, FileAccess.Read ); IXmlParser parser = new JsoupHtmlParser(); IDocumentNode documentNode = parser.Parse(fileInputStream, null); ConverterProperties converterProperties = new ConverterProperties(); converterProperties.SetFontProvider(new _DefaultFontProvider_91(false, true, false)); // Do nothing here. That should result in an exception. IHtmlProcessor processor = new DefaultHtmlProcessor(converterProperties); Document doc1 = processor.ProcessDocument(documentNode, new PdfDocument(new PdfWriter(new MemoryStream())) ); doc1.Close(); Document doc2 = processor.ProcessDocument(documentNode, new PdfDocument(new PdfWriter(new MemoryStream())) ); doc2.Close(); NUnit.Framework.Assert.IsTrue(false, "The test should have failed before that assert, since it's strictly forbidden not to reset the FontProvider instance after each html to pdf conversion." ); } , NUnit.Framework.Throws.InstanceOf <PdfException>()) ; }
private void ConvertToPdfWithCustomRendererAndCompare(String name) { ConverterProperties properties = new ConverterProperties().SetTagWorkerFactory(new _DefaultTagWorkerFactory_166 ()); DefaultHtmlProcessor processor = new DefaultHtmlProcessor(properties); IXmlParser parser = new JsoupHtmlParser(); String outPdfPath = destinationFolder + name + ".pdf"; PdfDocument pdfDocument = new PdfDocument(new PdfWriter(outPdfPath)); IDocumentNode doc = parser.Parse(new FileStream(sourceFolder + name + ".html", FileMode.Open, FileAccess.Read ), properties.GetCharset()); Document document = processor.ProcessDocument(doc, pdfDocument); document.Close(); NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(outPdfPath, sourceFolder + "cmp_" + name + ".pdf", destinationFolder)); }
public virtual void BatchConversionTest() { ConverterProperties properties = new ConverterProperties().SetBaseUri(sourceFolder).SetMediaDeviceDescription (new MediaDeviceDescription(MediaType.PRINT)); FontProvider fontProvider = new DefaultFontProvider(true, false, false); fontProvider.AddDirectory(sourceFolder + "fonts/"); properties.SetFontProvider(fontProvider); IHtmlProcessor processor = new DefaultHtmlProcessor(properties); IXmlParser parser = new JsoupHtmlParser(); String outPdfPath = destinationFolder + "smashing1.pdf"; PdfDocument pdfDocument = new PdfDocument(new PdfWriter(outPdfPath)); IDocumentNode doc = parser.Parse(new FileStream(sourceFolder + "smashing01.html", FileMode.Open, FileAccess.Read ), properties.GetCharset()); Document document = processor.ProcessDocument(doc, pdfDocument); document.Close(); NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(outPdfPath, sourceFolder + "cmp_smashing1.pdf" , destinationFolder, "diff01_")); }