当前位置: 首页 > news >正文

网站建设公司发展营销策划方案模板

网站建设公司发展,营销策划方案模板,一流专业建设网站,大良网站建设dwxw简介适用于.NET Framework和.NET Core的HTML至PDF转换器SelectPdf提供的在线html到pdf转换器使用.NET的Select.Pdf库中的html到pdf转换器。用于.NET的SelectPdf SDK提供了创建新pdf文档,加载现有文档,合并现有pdf文档,拆分pdf文档&#xff0c…

简介

适用于.NET Framework和.NET Core的HTML至PDF转换器

SelectPdf提供的在线html到pdf转换器使用.NET的Select.Pdf库中的html到pdf转换器。用于.NET的SelectPdf SDK提供了创建新pdf文档,加载现有文档,合并现有pdf文档,拆分pdf文档,向新创建或现有pdf文档添加元素的可能性。
用于.NET的Select.Pdf库中的html到pdf转换器可以在任何.NET应用程序中使用,从完整的网页或原始html代码生成pdf文档,就像在线html到pdf转换器一样。该免费试用版包含可立即使用的示例,这些示例以Windows窗体,ASP.NET,带有Razor和ASPX引擎的ASP.NET MVC的C#和VB.NET编码。

实现

1、nuget 引用 

Install-Package Select.HtmlToPdf

2、方法

using SelectPdf;using System.Collections.Specialized;using System.IO;using System.Web;namespace BQoolCommon.Helpers.File{    public class WebToPdf    {        public WebToPdf()        {            //SelectPdf.GlobalProperties.LicenseKey = "your-license-key";        }        ///         /// 將 Html 轉成 PDF,並儲存成檔案        ///         /// html        /// 絕對路徑        public void SaveToFileByHtml(string html, string fileName)        {            var doc = SetPdfDocument(html);            doc.Save(fileName);        }        ///         /// 傳入 Url 轉成 PDF,並儲存成檔案        ///         /// url        /// 絕對路徑        /// Cookies        public void SaveToFileByUrl(string url, string fileName, NameValueCollection httpCookies)        {            var doc = SetPdfDocument(url, httpCookies);            doc.Save(fileName);        }        ///         /// 將 Html 轉成 PDF,並輸出成 byte[] 格式        ///         /// html        ///         public byte[] GetFileByteByHtml(string html)        {            var doc = SetPdfDocument(html);            return doc.Save();        }        ///         /// 傳入 Url 轉成 PDF,並輸出成 byte[] 格式        ///         /// url        /// Cookies        ///         public byte[] GetFileByteByUrl(string url, NameValueCollection httpCookies)        {            var doc = SetPdfDocument(url, httpCookies);            return doc.Save();        }        ///         /// 將 Html 轉成 PDF,並輸出成 Stream 格式        ///         /// html        ///         public Stream GetFileStreamByHtml(string html)        {            var doc = SetPdfDocument(html);            var pdfStream = new MemoryStream();            doc.Save(pdfStream);            pdfStream.Position = 0;            return pdfStream;        }        ///         /// 傳入 Url 轉成 PDF,並輸出成 Stream 格式        ///         /// html        ///         public Stream GetFileStreamByUrl(string url, NameValueCollection httpCookies)        {            var doc = SetPdfDocument(url, httpCookies);            var pdfStream = new MemoryStream();            doc.Save(pdfStream);            pdfStream.Position = 0;            return pdfStream;        }        private PdfDocument SetPdfDocument(string html)        {            var converter = new HtmlToPdf();            converter.Options.WebPageWidth = 1200;            html = HttpUtility.HtmlDecode(html);            return converter.ConvertHtmlString(html);        }        private PdfDocument SetPdfDocument(string url, NameValueCollection httpCookies)        {            var converter = new HtmlToPdf();            converter.Options.WebPageWidth = 1200;            if (httpCookies != null && httpCookies.Count != 0)            {                converter.Options.HttpCookies.Add(httpCookies);            }            return converter.ConvertUrl(url);        }    }}

3、调用

///         /// 下载pdf        ///         public void Downpdf(string data)        {            var stream = new BQoolCommon.Helpers.File.WebToPdf().GetFileStreamByHtml(Gethtml(data));            Response.Clear();            //二进制流数据(如常见的文件下载)            Response.ContentType = "application/octet-stream";            //通知浏览器下载文件而不是打开            Response.AddHeader("Content-Disposition", "attachment;  filename=" + HttpUtility.UrlEncode("Profit and Loss Statement.pdf", System.Text.Encoding.UTF8));            var bytes = StreamToBytes(stream);            Response.BinaryWrite(bytes);            Response.Flush();            stream.Close();            stream.Dispose();            Response.End();        }

那么如何获取指定页面的html 呢 传入对应的model  获得指定动态的html

private string Gethtml(string data)        {            string str = "";            str = this.ControllerContext.RenderViewToString("ProfitDetails", data);            return str;        }
using BQoolCommon.Helpers.Format;using Newtonsoft.Json;using OrdersManager.Models.ViewModel.Report;using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Web;using System.Web.Mvc;namespace OrdersManager.Web.Infrastructure{    public static class HelperExtensions    {        public static string RenderViewToString(this ControllerContext context, string viewName, string data)        {            if (string.IsNullOrEmpty(viewName))                viewName = context.RouteData.GetRequiredString("action");            context.Controller.ViewData.Model = JsonConvert.DeserializeObject(StringTools.Base64Decode(StringTools.Base64Decode(data)));            using (var sw = new StringWriter())            {                ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(context, viewName);                var viewContext = new ViewContext(context,                                                  viewResult.View,                                                  context.Controller.ViewData,                                                  context.Controller.TempData,                                                  sw);                try                {                    viewResult.View.Render(viewContext, sw);                }                catch (Exception ex)                {                    throw;                }                return sw.GetStringBuilder().ToString();            }        }    }}

e0f5d74c0a74b5b635334926c95e829f.png

6ba50c9a8b47154488c167140f49bf7f.png

http://www.lbrq.cn/news/2704933.html

相关文章:

  • 电脑做任务赚钱网站常德论坛网站
  • 门户类型网站有哪些搜索引擎排名优化公司
  • 台州网站建设方案网络推广方法有哪几种
  • 大学网站开发实验室建设方案企业邮箱怎么开通注册
  • 小米路由器 做网站网站建站价格
  • 调研报告 政府网站建设十种营销方法
  • 华夏望子成龙网站开发背景百度快速收录权限域名
  • 南昌网站忧化网站统计数据
  • 网站维护中页面百度查询最火的关键词
  • 克隆视厅网站怎么做自媒体培训学校
  • 学校学生网站模板下载关键词数据分析
  • 网站推广与电话销售如何结合搜索检索与seo推广
  • 做网站与做软件江北seo综合优化外包
  • ie网站建设买卖平台
  • 企业官方网站建设竞价是什么工作
  • 靠谱的网站制作专业公司海南网站制作
  • 做网站的周记网推接单平台
  • 微信文章同步到wordpress郑州seo顾问热狗hotdoger
  • 颍上县住房和城乡建设局网站爱情链接
  • 想学网站建设seo软文代写
  • 张北北京网站建设最新国际新闻 大事件
  • 网站放自己服务器备案域名停靠
  • 上海做网站的企业长沙网络营销哪家平台专业
  • 杭州网站设计工作室企业门户网站的设计与实现
  • 济南网站建设联 系小七百度seo优化哪家好
  • 企业网站建设优化徐州网页关键词优化
  • 网站建设验收标准资源网站优化排名优化
  • 做设计开哪个素材网站的会员好高端企业建站公司
  • 合肥网站开发公司电话网络公司名字
  • 武汉企业网站各大网站收录入口
  • 解决EKS中KEDA访问AWS SQS权限问题:完整的IRSA配置指南
  • 【Linux学习|黑马笔记|Day3】root用户、查看权限控制信息、chmod、chown、快捷键、软件安装、systemctl、软连接、日期与时区
  • 【C++】哈希的应用:位图和布隆过滤器
  • 【GESP】C++一级知识点之【集成开发环境】
  • -bash: ./restart.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录
  • 农业智慧大屏系统 - Flask + Vue实现