Использование пакета Rotativa.aspnetcore в Ubuntu не знает, что не так?
- Я использую стандартный шаблон Visual Studio 2017 MVC.
- Использование nuget Rotativa.aspnetcore (https://www.nuget.org/packages/Rotativa.AspNetCore/)
Установочный пакет Rotativa.AspNetCore -Version 1.1.1
Выполните sudo apt-get install Xvfb libfontconfig wkhtmltopdf в ОС Linux Ubuntu.wkhtmltopdf и wkhtmltoimage копируют его в проект Web MVC wwwroot / Rotativa.
Согласно Rotativa.aspnetcore Git (https://github.com/webgio/Rotativa.AspNetCore) файл Требуется настройка параметров конфигурации, выполненная в Startup.cs:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
...
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Faceapirequestrecords}/{action=Index}/{id?}");
});
RotativaConfiguration.Setup(env, "/usr/bin");
}
Код программы HomeController:
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
public IActionResult DemoViewAsPDF()
{
return new ViewAsPdf("Index");
}
}
Развертывание и выполнение приложений MVC. URL: http://localhost:5000/Home/DemoViewAsPDF
Сообщение об ошибке:
предупреждение: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware [3] Не удалось определить порт https для перенаправления.
ошибка: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware [1] Произошло необработанное исключение при выполнении запроса. System.Exception: QXcbConnection: не удалось подключиться к отображению
в Rotativa.AspNetCore.WkhtmlDriver.Convert (String wkhtmlPath, String переключатели, String,html, строка wkhtmlExe) в Rotativa.AspNetCore.V в Rotativa.AspNetCore.WkhtmltopdfDriver.ConvertHtml (строка wkhtmltopdfPath, строковые переключатели, строка html)iewAsPdf.CallTheDriver (контекст ActionContext) в Rotativa.AspNetCore.AsResultBase.BuildFile (контекст ActionContext) в Rotativa.AspNetCore.AsResultBase.ExecuteResultAsync (контекст ActionContext) в Microsoft.AspNetCore.InRative.InRec.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResultFilterAsyncTFilter, TFilterAsync в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow (контекст ResultExecutedContext) в Microsoft.AspNetCore.Mesc., Object & state, Boolean & isCompleted) в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeResultFilters () в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter () в Microsoft.AspNetCore.Exource.Inv.) в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next (State & next, Scope & scope, Object & state, Boolean & isCompleted)в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync () в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync () в Microsoft.AspNetCore.Builder.RouterMiddleware.In.text.Confile.Inteke (Http..Invoke (контекст HttpContext) в Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.Invoke (контекст HttpContext)