示例#1
0
        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);
        }
示例#2
0
文件: XPdfBase.cs 项目: chaoyueg/xpdf
        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;
            }
        }
示例#3
0
文件: XPdfBase.cs 项目: Enoro/xpdf
        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;
            }
        }