Я использую Rotativa для создания PDF из вида. Он работает на моем локальном хосте, но когда я нажимаю на свой сервер, он вообще не работает. На сервере включена проверка подлинности Windows и олицетворение, которые мне нужны для этого сайта.
Это ошибка, которую я получаю, когда пытаюсь запустить код на сервере
Qt: не удалось инициализировать OLE (ошибка 80070005) Ошибка: ошибка загрузки
страница
https://api.mydomain.com/Reports/RedBluePDF?community=CommunityName&procedure=GetTasks
(иногда это будет работать просто, чтобы игнорировать эту ошибку с
--load-error-processing игнорировать) Выход с кодом 1 из-за ошибки http: 1003
Вот мой код:
public byte[] getReportsPDF(string community, string procedure)
{
byte[] pdfBytes = new byte[] { };
RouteData route = new RouteData();
route.Values.Add("controller", "SiteSuperReports");
route.Values.Add("action", "RedBluePDF");
this.ControllerContext = new ControllerContext(new HttpContextWrapper(System.Web.HttpContext.Current), route, this);
if (procedure == "GetProductionTasks")
{
var actionPDF = new Rotativa.ActionAsPdf("RedBluePDF", new { community = community, procedure = procedure })
{
PageSize = Size.A4,
PageOrientation = Rotativa.Options.Orientation.Landscape,
PageMargins = { Left = 1, Right = 1 }
};
try
{
pdfBytes = actionPDF.BuildFile(ControllerContext);
}
catch(Exception e)
{
Console.Write(e.Message.ToString());
}
}
return pdfBytes;
}
А вот метод RedBluePDF, он просто возвращает представление:
public ActionResult RedBluePDF(string community, string procedure) {
return View();
}
Что я делаю не так и почему это не работает на моем сервере, но на моем локальном хосте? И как мне заставить его работать на моем сервере.