标签: rotativa

在Rotativa生成的PDF中显示页眉和页脚

我正在尝试在Rotativa库生成的PDF中指定页眉和页脚.正如作者在这里回答的那样,应该可以使用CSS(这里描述).但是,我无法做到这一点.

我在meta标签中加载了样式表:

<link href="print.css" rel="stylesheet" type="text/css" media="print" />
Run Code Online (Sandbox Code Playgroud)

在底部的样式表中:

@page {
    @top-left {
        content: "TOP SECRET";
        color: red
    }
    @bottom-right {
        content: counter(page);
        font-style: italic
    }
}
Run Code Online (Sandbox Code Playgroud)

然后通过以下方式生成PDF:

public ActionResult ShowPdf()
{
     var model = new Model();
     return new ViewAsPdf("view.cshtml", model)
                {
                    FileName = "Report.pdf",
                    CustomSwitches = "--print-media-type"
                };
}
Run Code Online (Sandbox Code Playgroud)

然后,PDF的页眉和页脚中没有任何内容.有任何想法吗?

c# pdf-generation asp.net-mvc-3 rotativa

6
推荐指数
3
解决办法
3万
查看次数

仅在服务器上找不到 Rotativa 文件

我正在使用 Rotativa ActionasPDF() 从我的 MVC4 项目中的视图生成 pdf。它在我的本地实例上完美运行,但我只是将整个解决方案复制到我的服务器上,但它不起作用。我收到错误“系统找不到指定的文件”,但我不确定它在谈论什么文件。我假设它在谈论 Rotativa dll,但我的服务器上也有生成的 Rotativa 文件夹。该解决方案与我的本地副本完全相同。我的网站托管在 IIS 8、Windows 2012 服务器上。研究告诉我,某些文件夹可能存在权限问题,但我不确定它们会是哪些。我只是暂时将所有控制器和视图设置为 777 权限。没运气。关于我缺少什么的任何想法,或者我如何确保 dll 已在我的服务器上注册?

这是我的控制器操作方法:

public ActionResult DownloadFile(int id = 0)
    {
        var filename = string.Format("Invoice{0}.pdf", id);

        return new ActionAsPdf("Invoice" + "/" + id, new { name = "Invoice" + id }) { FileName = filename, PageSize = Size.Letter, PageOrientation = Orientation.Portrait, PageMargins = new Margins(0, 0, 0, 0) };
    }
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

asp.net-mvc-4 rotativa

6
推荐指数
1
解决办法
3407
查看次数

Rotativa MVC无法在PDF上加载CSS或图像

我有一个很好的操作(加载所有图像和CSS)作为一个正常的操作,但是当我使用Rotativa.MVC.ViewAsPdf生成PDF时,它不会加载CSS.并且应用程序不显示任何错误

public ActionResult DownloadNonProfessionalDeputy(int id) 
  {
      Application_Attorney_NonProfessional oAP = db.Application_Attorney_NonProfessional.Find(id);
      return new Rotativa.MVC.ViewAsPdf(oAP) { FileName = string.Format("DCM_Attorney_Non_Professional_Application.pdf", new { CustomSwitches = "--print-media-type --header-center \"text\"" }) };// {   =  "--header-right \"Page [page] of [toPage]\""};

      //return View(oAP);
  }
Run Code Online (Sandbox Code Playgroud)

帮助赞赏

来自PDF的图片

在此输入图像描述

来自HTML视图的图像

在此输入图像描述

风景

@model DCM_Intranet.Models.Application_Attorney_NonProfessional
@{
    Layout = null;
    int nPage = 0;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="~/images/gale_phillipson_corn.ico" type="image/x-icon">
<title>Attorney Non-Professional Application</title>
<link href="~/css/style.default.css" rel="stylesheet"> …
Run Code Online (Sandbox Code Playgroud)

c# model-view-controller rotativa

6
推荐指数
1
解决办法
7279
查看次数

如何拦截.NET MVC3中当前actionresult的输出流?

嗨,谢谢你的期待!

背景

我正在使用Rotativa pdf工具将视图(html)读入PDF.它工作得很好,但它本身并没有提供将PDF保存到文件系统的方法.相反,它仅作为操作的结果将文件返回给用户的浏览器.

这是代码的样子:

public ActionResult PrintQuote(FormCollection fc)
        {
            int revisionId = Int32.Parse(Request.QueryString["RevisionId"]);

            var pdf = new ActionAsPdf(
                 "Quote",
                 new { revisionId = revisionId })
                       {
                           FileName = "Quote--" + revisionId.ToString() + ".pdf",
                           PageSize = Rotativa.Options.Size.Letter
                       };

            return pdf;

        } 
Run Code Online (Sandbox Code Playgroud)

此代码调用另一个actionresult("Quote"),将其视图转换为PDF,然后将PDF作为文件下载返回给用户.

如何拦截文件流并将PDF保存到我的文件系统.将PDF发送给用户是完美的,但我的客户也希望PDF同时保存到文件系统.

有任何想法吗?

谢谢!

马特

c# asp.net-mvc pdf-generation rotativa

5
推荐指数
1
解决办法
7501
查看次数

使用SaveAs对话框下载Rotativa

我正在使用Rotativa工具来显示pdf.它可以正常使用以下代码:

public ActionResult PreviewDocument()
{

     var htmlContent = Session["html"].ToString();
     var model = new PdfInfo { Content = htmlContent, Name = "PDF Doc" };
     return new ViewAsPdf(model);
}
Run Code Online (Sandbox Code Playgroud)

我想知道通过浏览器的"另存为"对话框下载pdf的方式,点击按钮而不是显示在某个iframe中."new ViewAsPdf(model)"只返回pdf数据.

提前致谢.

asp.net-mvc rotativa

5
推荐指数
1
解决办法
8025
查看次数

Rotativa缺少javascript / jquery

我有一个渲染的视图和一些更新某些字段的javascript / jquery。当我使用Rotativa时,它将渲染视图,但是在执行JS替换somw字段文本之前。

有没有办法延迟Rotativa或让它等待JS / JQuery

rotativa

5
推荐指数
2
解决办法
3317
查看次数

Rotativa - 奇怪的标题输出

我正在尝试解决我的HTML中的表头在后续页面上无法正确呈现的问题.有关如何解决此问题的任何想法?

标题

 <thead>
                <tr>
                    <th></th>
                    <th>@Index.LastName</th>
                    <th>@Index.FirstName</th>
                    <th>@Index.Contact</th>
                    <th>@Index.Division</th>
                    <th>@Index.ClubName</th>
                    <th>@Index.Position</th>
                </tr>
            </thead>
Run Code Online (Sandbox Code Playgroud)

那个行动:

public ActionResult PrintResults(UserMemberSearchViewModel model)
{
    model.Results = UserMemberSearchTasks.Search(model);
    return new PartialViewAsPdf("ResultsPDF", model)
    {
        FileName = Resources.UserMemberSearch.Index.MemberDetails + ".pdf",

    };
}
Run Code Online (Sandbox Code Playgroud)

结果

在此输入图像描述

c# wkhtmltopdf asp.net-mvc-3 rotativa

5
推荐指数
1
解决办法
1056
查看次数

Rotativa - ViewAspdf在服务器上不起作用

我知道这个主题已经在几篇文章中进行了讨论,但没有一个解决方案对我有帮助.

我有这个动作:

   public ActionResult DownloadViewPDF(string userId)
        {
            var model = db.MyCvs.FirstOrDefault(u => u.UserId == userId);

            if (model != null)
                return new Rotativa.ViewAsPdf("ViewUserCv", model) { FileName = model.FirstName + model.LastName + "_CV.pdf" };
            return Content("there is no Cv to download");
        }
Run Code Online (Sandbox Code Playgroud)

使用上面的操作我正在下载一个视图作为pdf,一切都在我的计算机上按预期工作.

在服务器上部署项目后,此操作无效,返回错误:

在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.

我正在使用Visual Studio Community 2015.在服务器上,我有Rotativa.dll名为Rotativa的根目录中的文件夹,文件名为wkhtmltopdf.exe.

我不知道如何处理这个错误,你能给我一些消息吗?

c# asp.net-mvc pdf-generation rotativa

5
推荐指数
3
解决办法
1万
查看次数

具有Multi-Col报纸布局的Rotativa ActionAsPdf

在MVC 6中使用Rotativa 1.6.3通过ActionAsPdf从View生成PDF。

目的是使用CSS3 multi-col生成报纸样式的报告,这可以使用chrome中的打印功能来工作(请参见所需的图像输出)

我试图通过将列数替换为CSS来使用工作环境:

-webkit-column: 0 0;
width:50%
Run Code Online (Sandbox Code Playgroud)

该工作机制会生成列,但是在分页符处流不会改变,它仅在首页上起作用。

的HTML

<body>
<div class="newspaper">
<P>
    Sed ut perspiciatis e quam nihil ............. molestiae consequatur, vel illum qui 
dolorem eum fugiat quo voluptas nulla pariatur? 
 </P>
<P>
    Sed ut perspiciatis e quam nihil ............. molestiae consequatur, vel illum qui 
dolorem eum fugiat quo voluptas nulla pariatur? 
 </P>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)

的CSS

.newspaper 
{
-moz-column-count: 2; /*  Firefox */
-moz-column-gap: 10px; /*  Firefox */
-moz-column-rule-style: solid; /* Firefox */
-webkit-column-count: 2; /* …
Run Code Online (Sandbox Code Playgroud)

html pdf css3 multiple-columns rotativa

5
推荐指数
0
解决办法
573
查看次数

Rotativa 使用 Windows 身份验证获取 401.2 代码状态

我有一个使用 Windows 身份验证的 MVC 5 项目。为了添加 pdf 导出支持,我​​尝试设置 Rotativa lib。第一次尝试是Controller方法

public ActionResult PrintViewToPdf()
{
    return new ActionAsPdf("myAction");
}
Run Code Online (Sandbox Code Playgroud)

这会导致 pdf 文件中出现错误 401.2 页面。据我了解(请让我知道是否有其他解决方案!!!),有唯一的解决方法:

public ActionResult PrintViewToPdf()
{
    return new ViewAsPdf("myView");
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我得到一个 pdf 文件,但它内容是一个没有完成 javascript 脚本的网页!

那么,问题是:除了替换之外还有其他解决方案ActionAsPdfViewAsPdf?如果不是,是否可以包含ViewAsPdfjavascript 执行结果?

http-status-code-401 rotativa asp.net-mvc-5

5
推荐指数
0
解决办法
477
查看次数