public virtual void ShouldAttemptTrimLastPageTest() { PdfDocument pdfDocument = new PdfDocument(new PdfWriter(new ByteArrayOutputStream())); Document document = new Document(pdfDocument); HtmlDocumentRenderer documentRenderer = new HtmlDocumentRenderer(document, false); document.SetRenderer(documentRenderer); pdfDocument.AddNewPage(); NUnit.Framework.Assert.AreEqual(1, pdfDocument.GetNumberOfPages()); // For one-page documents it does not make sense to attempt to trim last page NUnit.Framework.Assert.IsFalse(documentRenderer.ShouldAttemptTrimLastPage()); pdfDocument.AddNewPage(); NUnit.Framework.Assert.AreEqual(2, pdfDocument.GetNumberOfPages()); // If there are more than one page, we try to trim last page NUnit.Framework.Assert.IsTrue(documentRenderer.ShouldAttemptTrimLastPage()); }
public virtual void TrimLastPageIfNecessaryTest() { PdfDocument pdfDocument = new PdfDocument(new PdfWriter(new ByteArrayOutputStream())); Document document = new Document(pdfDocument); HtmlDocumentRenderer documentRenderer = new HtmlDocumentRenderer(document, false); document.SetRenderer(documentRenderer); pdfDocument.AddNewPage(); pdfDocument.AddNewPage(); new PdfCanvas(pdfDocument.GetLastPage()).MoveTo(10, 10).LineTo(20, 20).Stroke(); pdfDocument.AddNewPage(); NUnit.Framework.Assert.AreEqual(3, pdfDocument.GetNumberOfPages()); documentRenderer.TrimLastPageIfNecessary(); NUnit.Framework.Assert.AreEqual(2, pdfDocument.GetNumberOfPages()); documentRenderer.TrimLastPageIfNecessary(); NUnit.Framework.Assert.AreEqual(2, pdfDocument.GetNumberOfPages()); }
internal virtual HtmlDocumentRenderer.PageMarginBoxesDrawingHandler SetHtmlDocumentRenderer(HtmlDocumentRenderer htmlDocumentRenderer) { this.htmlDocumentRenderer = htmlDocumentRenderer; return(this); }
/// <summary>Constructor for HtmlBodyStylesApplierHandler.</summary> /// <param name="htmlDocumentRenderer"> /// /// <see cref="HtmlDocumentRenderer"/> /// </param> /// <param name="pageStylesPropertiesMap"> /// /// <see cref="PageStylesProperties"/> /// map that contains styles for html and body elements /// </param> public HtmlBodyStylesApplierHandler(HtmlDocumentRenderer htmlDocumentRenderer, IDictionary <int, HtmlBodyStylesApplierHandler.PageStylesProperties > pageStylesPropertiesMap) { this.htmlDocumentRenderer = htmlDocumentRenderer; this.pageStylesPropertiesMap = pageStylesPropertiesMap; }