protected byte[] CreatePdfFile(string page, string fileName, EnumPdfType source) { var fileBytes = CreatePdfFile(page, source); using (FileStream fs = new FileStream(string.Concat(Path, fileName.ToLower().Replace(".pdf", string.Empty), ".PDF"), FileMode.OpenOrCreate, FileAccess.ReadWrite)) { fs.Write(fileBytes, 0, fileBytes.Length); fs.Close(); } return(fileBytes); }
protected byte[] CreatePdfFile(string page, string fileName, EnumPdfType source) { bool?isFailed; byte[] fileBytes; string _log = string.Empty; try { using (IHtmlToPdfConverter wkHtml = new MultiplexingConverter()) { isFailed = false; wkHtml.GlobalSettings.Margin.Top = "0cm"; wkHtml.GlobalSettings.Margin.Bottom = "0cm"; wkHtml.GlobalSettings.Margin.Left = "0cm"; wkHtml.GlobalSettings.Margin.Right = "0cm"; wkHtml.ObjectSettings.Load.Proxy = "none"; wkHtml.ObjectSettings.Load.LoadErrorHandling = LoadErrorHandlingType.ignore; wkHtml.ObjectSettings.Load.StopSlowScripts = false; wkHtml.ObjectSettings.Load.Jsdelay = 1000; //Credentials wkHtml.ObjectSettings.Load.Username = UserName; wkHtml.ObjectSettings.Load.Password = Password; wkHtml.ObjectSettings.Web.EnablePlugins = true; wkHtml.ObjectSettings.Web.EnableJavascript = true; wkHtml.ObjectSettings.Page = page; // Some misg site requiring HTTP Basic auth. wkHtml.Begin += (s, e) => { _log += string.Format("==>> Begin: {0}\n", e.Value); Console.WriteLine("==>> Begin: {0}", e.Value); }; wkHtml.PhaseChanged += (s, e) => { _log += string.Format("==>> New Phase: {0} ({1})\n", e.Value, e.Value2); Console.WriteLine("==>> New Phase: {0} ({1})", e.Value, e.Value2); }; wkHtml.ProgressChanged += (s, e) => { _log += string.Format("==>> Progress: {0} ({1})\n", e.Value, e.Value2); Console.WriteLine("==>> Progress: {0} ({1})", e.Value, e.Value2); }; wkHtml.Error += (s, e) => { _log += string.Format("==>> ERROR: {0}\n", e.Value); isFailed = true; Console.WriteLine("==>> ERROR: {0}", e.Value); }; wkHtml.Finished += (s, e) => { Console.WriteLine("==>> WARN: {0}", e.Value); }; lock (wkHtml) { if (source == EnumPdfType.Html) { fileBytes = wkHtml.Convert(page); } else { fileBytes = wkHtml.Convert(); } } using (FileStream fs = new FileStream(string.Concat(Path, fileName.ToLower().Replace(".pdf", string.Empty), ".PDF"), FileMode.OpenOrCreate, FileAccess.ReadWrite)) { fs.Write(fileBytes, 0, fileBytes.Length); fs.Close(); } return(fileBytes); } } catch (Exception ex) { throw ex; } }
protected byte[] CreatePdfFile(string page, string fileName, EnumPdfType source) { bool? isFailed; byte[] fileBytes; string _log = string.Empty; try { using (IHtmlToPdfConverter wkHtml = new MultiplexingConverter()) { isFailed = false; wkHtml.GlobalSettings.Margin.Top = "0cm"; wkHtml.GlobalSettings.Margin.Bottom = "0cm"; wkHtml.GlobalSettings.Margin.Left = "0cm"; wkHtml.GlobalSettings.Margin.Right = "0cm"; wkHtml.ObjectSettings.Load.Proxy = "none"; wkHtml.ObjectSettings.Load.LoadErrorHandling = LoadErrorHandlingType.ignore; wkHtml.ObjectSettings.Load.StopSlowScripts = false; wkHtml.ObjectSettings.Load.Jsdelay = 1000; //Credentials wkHtml.ObjectSettings.Load.Username = UserName; wkHtml.ObjectSettings.Load.Password = Password; wkHtml.ObjectSettings.Web.EnablePlugins = true; wkHtml.ObjectSettings.Web.EnableJavascript = true; wkHtml.ObjectSettings.Page = page; // Some misg site requiring HTTP Basic auth. wkHtml.Begin += (s, e) => { _log += string.Format("==>> Begin: {0}\n", e.Value); Console.WriteLine("==>> Begin: {0}", e.Value); }; wkHtml.PhaseChanged += (s, e) => { _log += string.Format("==>> New Phase: {0} ({1})\n", e.Value, e.Value2); Console.WriteLine("==>> New Phase: {0} ({1})", e.Value, e.Value2); }; wkHtml.ProgressChanged += (s, e) => { _log += string.Format("==>> Progress: {0} ({1})\n", e.Value, e.Value2); Console.WriteLine("==>> Progress: {0} ({1})", e.Value, e.Value2); }; wkHtml.Error += (s, e) => { _log += string.Format("==>> ERROR: {0}\n", e.Value); isFailed = true; Console.WriteLine("==>> ERROR: {0}", e.Value); }; wkHtml.Finished += (s, e) => { Console.WriteLine("==>> WARN: {0}", e.Value); }; lock (wkHtml) { if (source == EnumPdfType.Html) fileBytes = wkHtml.Convert(page); else fileBytes = wkHtml.Convert(); } using (FileStream fs = new FileStream(string.Concat(Path, fileName.ToLower().Replace(".pdf", string.Empty), ".PDF"), FileMode.OpenOrCreate, FileAccess.ReadWrite)) { fs.Write(fileBytes, 0, fileBytes.Length); fs.Close(); } return fileBytes; } } catch (Exception ex) { throw ex; } }