• HTML to PDF pechkin


    1. Goto Nuget 下载 Pechkin 控件

    2. 创建需要打印的的PDF controller 和 Action, 这里会调用其他页面的内容进行打印。

      public ActionResult ExportPDF(int id=0)
            {
                SynchronizedPechkin sc = new SynchronizedPechkin(new GlobalConfig()
                    .SetMargins(new Margins() { Left = 0, Right = 0, Top = 0, Bottom = 0 })); //设置边距
    
                ObjectConfig oc = new ObjectConfig();
    
                string sCurrentUrl = Request.Url.ToString();
                string sBook = sCurrentUrl.Substring(0, sCurrentUrl.IndexOf("/Book"));
                string sPath = sBook + "/Book/BookToPdf/" + id;
    
                oc.SetPrintBackground(true).SetRunJavascript(true).SetScreenMediaType(true)
                    .SetLoadImages(true)
                    .SetPageUri(sPath);
    
                byte[] buf = sc.Convert(oc);
    
                return File(buf, "application/pdf", "download.pdf");
    
            }
    

      3. 调用页面代码

     public ActionResult BookToPdf(int id=0)
            {
                BookService BookBS = new BookService();
                var sModel = BookBS.GetBook(id);
                ViewData["BookModel"] = sModel;
                return View();
            }
    

      

    @model List<LibrarySys.Web.Models.BookModel>
    
    @{ 
        Layout = null;
    }
    
    <table class="table table-hover table-bordered">
        <thead>
            <tr>
                <td class="col-md-1">
                    <p>图书编码</p>
                    <p>出版日期</p>
                </td>
                <td>名称</td>
                <td>价格</td>
                <td class="col-md-1">作者</td>
                
                <td>出版社</td>
                <td>操作</td>
            </tr>
        </thead>
        <tbody>
            @foreach (var item in Model)
            {
                <tr>
                    <td>
                        <p>@item.BookNumber</p>
                        <p>@item.BookPublish.ToShortDateString()</p>
                    </td>
                    <td><a href="/Book/BookEdit/@item.BookId" target="_self">@item.BookName</a></td>
                    <td>@item.BookPrice</td>
                    <td>@item.BookAuthor</td>
                   
                    <td>@item.Publisher</td>
                    <td><a href="/Book/ExportPDF/@item.BookId" class="btn btn-xs btn-primary">导出PDF</a></td>
                </tr>
            }
        </tbody>
    </table>
    

      4. 打印预览

    5. 部署网络时问题解决。

    6. 

  • 相关阅读:
    PAT Basic Level 1013
    PAT Basic Level 1012
    PAT Basic Level 1011
    PAT Basic Level 1009
    PAT Basic Level 1010
    PAT Basic Level 1008 *
    PAT Basic Level 1007 *
    .NET Entity Framework入门简介及简单操作
    SQL Server 查询处理中的各个阶段(SQL执行顺序)
    泛型优点和特性
  • 原文地址:https://www.cnblogs.com/VirtualMJ/p/6560779.html
Copyright © 2020-2023  润新知