public static iTextSharp.text.Table ConvertHeaderFooter(DocTemplateVers.Domain.DTO.ServiceExport.DTO_HeaderFooter HeaderFooter, float ContentWidth) { int Col = ColumnCount(HeaderFooter); iTextSharp.text.Table table = null; if (Col > 0) { float MaxWidth = ContentWidth / Col; table = new iTextSharp.text.Table(Col); if (HeaderFooter.Left != null) { table.AddCell(RenderElement(HeaderFooter.Left, MaxWidth)); } if (HeaderFooter.Center != null) { table.AddCell(RenderElement(HeaderFooter.Center, MaxWidth)); } if (HeaderFooter.Right != null) { table.AddCell(RenderElement(HeaderFooter.Right, MaxWidth)); } } return(table); }
private iTS.Document ExportTo(DocTemplateVers.Domain.DTO.ServiceExport.DTO_Settings settings, System.IO.Stream stream, Boolean forErrorContent) { iTS.Document doc = null; try { doc = InitializeDocument(ref settings); DocTemplateVers.Domain.DTO.ServiceExport.DTO_HeaderFooter Header = GetHeader(); DocTemplateVers.Domain.DTO.ServiceExport.DTO_HeaderFooter Footer = GetFooter(); float ContentWidth = settings.Width - (settings.MarginLeft + settings.MarginRight); iTS.rtf.RtfWriter2 rtfWriter = iTS.rtf.RtfWriter2.GetInstance(doc, stream); doc.Open(); //Add Header iTS.Table table = null; if (Header != null) { table = ConvertHeaderFooter(Header, ContentWidth); if (table != null) { try { doc.Add(table); } catch { } } } ////Compilazione documento if (forErrorContent) { RenderErrorDocument(doc); } else { RenderDocument(doc, rtfWriter); } if (Footer != null) { table = ConvertHeaderFooter(Footer, ContentWidth); if (table != null) { try { doc.Add(table); } catch { } } } doc.Close(); } catch (Exception ex) { doc = null; } finally { if (doc != null && doc.IsOpen()) { doc.Close(); } } return(doc); //DocTemplateVers.Domain.DTO.ServiceExport.DTO_HeaderFooter Header = GetHeader(); ////DocTemplate.TemplateHeaderFooter Header = GetHeader(); ////DocTemplate.TemplateHeaderFooter Footer = GetFooter(); //DocTemplateVers.Domain.DTO.ServiceExport.DTO_HeaderFooter Footer = GetFooter(); //float ContentWidth = settings.Width - (settings.MarginLeft + settings.MarginRight); //Document doc = null; //try //{ // doc = InitializeDocument(settings); // iTextSharp.text.rtf.RtfWriter2 rtfWriter = iTextSharp.text.rtf.RtfWriter2.GetInstance(doc, stream); // doc.Open(); // //Add Header // iTextSharp.text.Table table = null; // if (!settings.HTMLheader && Header != null) // { // table = ConvertHeaderFooter(Header, ContentWidth); // if (table != null) // doc.Add(table); // } // ////Compilazione documento // if (forErrorContent) // RenderErrorDocument(doc); // else // RenderDocument(doc, rtfWriter); // if (!settings.HTMLfooter && Footer != null) { // table = ConvertHeaderFooter(Footer, ContentWidth); // if (table!=null) // doc.Add(table); // } // doc.Close(); //} //catch (Exception ex) //{ // doc = null; //} //finally{ // if (doc != null && doc.IsOpen()) // doc.Close(); //} //return doc; }