首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Rotativa生成PDF时,移动到新服务器后会抛出错误

使用Rotativa生成PDF时,移动到新服务器后会抛出错误
EN

Stack Overflow用户
提问于 2022-04-19 21:20:57
回答 1查看 216关注 0票数 0

我使用Rotativa的ActionAsPdf方法将HTML文件转换为PDF。(Nuget Rotativa 1.7.3)

代码语言:javascript
运行
复制
[ValidateInput(false)]
public ActionResult PrintReport(string EvalId, string ApplicationID, bool SsOnly, bool Pdf, string ApplicantName)
{
    try
    {
        string FileName = ApplicantName.Trim().Replace(" ", "_") + "_results.pdf";

        return new ActionAsPdf("Report", new { EvalId, ApplicationID, SsOnly, PDF = true }) { FileName = FileName };

    }
    catch (Exception ex)
    {
        Errors.ErrorOccured(ex);
    }
    return RedirectToAction("Index", "Error", new { Area = "" });
}

到目前为止,这是非常有效的。我们正在用更新的服务器替换web服务器。

在我们将它转移到新服务器之前,这一切都很好。起初,我认为它不起作用,因为通过移动文件,站点已经转移到了新服务器上。因此,我对新服务器进行了发布,但仍然存在相同的错误。

下面是堆栈跟踪显示的内容

代码语言:javascript
运行
复制
[Exception]
Rotativa.WkhtmlDriver.Convert(String wkhtmlPath, String switches, String html, String wkhtmlExe) +1037
Rotativa.WkhtmltopdfDriver.Convert(String wkhtmltopdfPath, String switches) +72
Rotativa.AsPdfResultBase.WkhtmlConvert(String switches) +80
Rotativa.AsResultBase.CallTheDriver(ControllerContext context) +100
Rotativa.AsResultBase.BuildFile(ControllerContext context) +306
Rotativa.AsResultBase.ExecuteResult(ControllerContext context) +67
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +88
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +775
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +81
System.Web.Mvc.Async.<>c__DisplayClass3_1.<BeginInvokeAction>b__1(IAsyncResult asyncResult) +188
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38
System.Web.Mvc.<>c.<BeginExecuteCore>b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState) +26
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +73
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +52
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +39
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38
System.Web.Mvc.<>c.<BeginProcessRequest>b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState) +40
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +73
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +602
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +195
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +128

我可以看到它是指向罗塔蒂瓦,但不知道问题是什么。有什么想法吗?

EN

Stack Overflow用户

发布于 2022-04-20 16:31:58

结果表明,我们需要msvcp140.dll和vcruntime140.dll复制到Windows>SysWOW64中。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71931510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档