zoukankan      html  css  js  c++  java
  • ASP.NET指定页面转PDF、JPG(插件)

     //PDF文件导出
            public ActionResult pdfs() {
                
                //导出页面的路径(死路径)
                string url = "http://localhost:1213/";
                //插件的路径(转换为pdfNE)
                string pdf = "C:/Program Files/wkhtmltopdf/bin/wkhtmltopdf.exe";
    
                //随机生成一个文件名称
                string filename = Guid.NewGuid().ToString();
                //pdf格式
                string pdfpath = filename + ".pdf";
                Process p = System.Diagnostics.Process.Start(pdf, url + " "" + Server.MapPath(pdfpath) + """);
                p.WaitForExit();
                
                //下载
                FileStream fs = new FileStream(Server.MapPath(pdfpath), FileMode.Open);
                byte[] file = new byte[fs.Length];
                fs.Read(file, 0, file.Length);
                fs.Close();
                Response.Clear();
                Response.AddHeader("content-disposition", "attachment; filename=" + filename + ".pdf");//以二进制流模式,强制下载 
                Response.ContentType = "application/octet-stream";
                Response.BinaryWrite(file);
                Response.Write("<script>window.location='Index.cshtml'</script>");
                return null;
            }
     //JPG文件导出
            public ActionResult jpgs()
            {
                //导出页面的路径
                string url = "http://localhost:1213/";
                //插件的路径(转换为jpg)
                string jpg = "C:/Program Files/wkhtmltopdf/bin/wkhtmltoimage.exe";
    
                //随机生成一个文件名称
                string filename = Guid.NewGuid().ToString();
                //jpg格式
                string pdfpath = filename + ".jpg";
                Process p = System.Diagnostics.Process.Start(jpg, url + " "" + Server.MapPath(pdfpath) + """);
                p.WaitForExit();
    
                //下载
                FileStream fs = new FileStream(Server.MapPath(pdfpath), FileMode.Open);
                byte[] file = new byte[fs.Length];
                fs.Read(file, 0, file.Length);
                fs.Close();
                Response.Clear();
                Response.AddHeader("content-disposition", "attachment; filename=" + filename + ".jpg");//以二进制流模式,强制下载 
                Response.ContentType = "application/octet-stream";
                Response.BinaryWrite(file);
                Response.Write("<script>window.location='Index.cshtml'</script>");
                return null;
            }
    布局页面代码:
      <a>@Html.ActionLink("当前页面导出PDF", "pdfs")</a>
      <a>@Html.ActionLink("当前页面导出JPG", "jpgs")</a>

    转PDF、JPG插件(wkhtmltox-0.12.4_msvc2015-win64.exe)

    注:强推一波个人小站:小语雀网 | 欢迎大佬们访问哈~
  • 相关阅读:
    【XFeng安卓开发笔记】Android开发中如何调用打电话功能
    【XFeng安卓开发笔记】edittext中怎样禁止系统自带键盘弹出但光标还在
    【XFeng安卓开发笔记】android 如何在对话框中获取edittext中的数据
    【nRF51822蓝牙开发笔记】点亮LED灯
    基于R7F0C80212ESP的蓝牙婴儿早教机
    read、write和lseek
    open(/dev/ietctl, O_RDWR) 函数
    通过linux命令来控制板上GP_LED灯亮灭
    更新开发板固件
    PHP_EOL
  • 原文地址:https://www.cnblogs.com/zpblogs/p/8360068.html
Copyright © 2011-2022 走看看