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.

 
                    
                     
                    
                 
                    
                 

 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号