using System; using System.Drawing.Printing; using System.IO; using System.Linq; using System.Web.UI; using Pechkin; namespace AdvertsingProfitControl { internal class ReportGenerator { public readonly string Version = "1.0.0.0"; public void GeneratePdfReport(DateTime date) { var stringWriter = new StringWriter(); var writer = new HtmlTextWriter(stringWriter); var front = new FrontPageGenerator(); var back = new BackPageGenerator(); front.BuildReportFrontPage(date, ref writer); back.BuildReportBackPage(date, ref writer); using (var streamWriter = new StreamWriter("C:\\Users\\Crypto\\Desktop\\Full.html")) { streamWriter.WriteLine(stringWriter.ToString()); } } public void RenderHtmlCodeToImage(string path, string targetPath) { var htmlCode = File.ReadAllLines(path); var code = htmlCode.Aggregate("", (current, line) => current + "\r\n" + line); try { var pechkin = new SimplePechkin(new GlobalConfig().SetMargins(50,0,0,0).SetPaperSize(PaperKind.A4).SetPaperOrientation(true).SetCopyCount(1)); var pdf = pechkin.Convert(new ObjectConfig().SetZoomFactor(1.25), code); //var config = new GlobalConfig().SetPaperSize(PaperKind.A4).SetPaperOrientation(true); //var pdfBuf = new SimplePechkin(config).Convert(code); using (var fs = new FileStream(targetPath, FileMode.Create, FileAccess.Write)) { fs.Write(pdf, 0, pdf.Length); } } finally { } } } }