public void CreatePages(Models.Document documentTemplate, string outputFile)
{
_itextDocument = new iTextSharp.text.Document();
_itextPDFWriter = iTextSharp.text.pdf.PdfWriter.GetInstance(_itextDocument,
new System.IO.FileStream(outputFile,
System.IO.
FileMode.
Create));
_itextPDFWriter.PdfVersion = PdfWriter.VERSION_1_7;
_itextPDFWriter.Open();
PdfContentByte itextContent = _itextPDFWriter.DirectContent;
int pageCounter = 0;
foreach (Models.Page pageTemplate in documentTemplate.Pages)
{
pageCounter++;
if (pageTemplate.Bleeding.Points > 0)
{
_itextPDFWriter.SetBoxSize("bleed",
new iTextSharp.text.Rectangle(0, 0, pageTemplate.Width.Points,
pageTemplate.Height.Points));
}
Rectangle pageLayoutRectangle = new iTextSharp.text.Rectangle(-pageTemplate.Bleeding.Points,
-pageTemplate.Bleeding.Points,
pageTemplate.Width.Points +
pageTemplate.Bleeding.Points,
pageTemplate.Height.Points +
pageTemplate.Bleeding.Points);
_itextPDFWriter.PageEmpty = false;
_itextDocument.SetPageSize(pageLayoutRectangle);
if (!_itextDocument.IsOpen())
{
_itextDocument.Open();
}
PdfPage page = new PdfPage(this, itextContent);
page.Render(pageTemplate);
itextContent.PdfDocument.NewPage();
}
}