2015-05-04 6 views
5

Ich benutze NReco .PdfGenerator für meine PDF-Dokumente (diese Komponente basiert auf WkHtmlToPdf Tool), erlaubt mir mein Code ein PDF erstellen eine Funktion mit den Parametern aufrufen Controller, Aktion Modell:NReco.PdfGenerator Die Pipe wurde beendet Fehler auf dem Server

public static byte[] GeneratePdfDocument(System.Web.Mvc.Controller controller, string viewName, object model) 
{ 
    string result; 
    controller.ViewData.Model = model; 
    using (StringWriter sw = new StringWriter()) 
    { 
     ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName); 
     ViewContext viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw); 
     viewResult.View.Render(viewContext, sw); 

     result = sw.ToString(); 
    } 

    return (new NReco.PdfGenerator.HtmlToPdfConverter()).GeneratePdf(result); 
} 

Mit diesem Code ich ein PDF leicht von meinen Ansichten erstellen und es funktioniert großartig auf meiner Entwicklungsumgebung, sondern auf einem Server erhalte ich diese Fehlermeldung:

The pipe has been ended. 

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.IO.IOException: The pipe has been ended. 


[IOException: The pipe has been ended.] 
System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +11185413 
System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count) +10770013 
System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count) +139 
NReco.PdfGenerator.HtmlToPdfConverter.GeneratePdfInternal(String htmlFilePath, Byte[] inputBytes, String coverHtml, String outputPdfFilePath, Stream outputStream) +2166 

[Exception: Cannot generate PDF: The pipe has been ended.] 
NReco.PdfGenerator.HtmlToPdfConverter.GeneratePdfInternal(String htmlFilePath, Byte[] inputBytes, String coverHtml, String outputPdfFilePath, Stream outputStream) +2734 
NReco.PdfGenerator.HtmlToPdfConverter.GeneratePdf(String htmlContent, String coverHtml, Stream output) +51 
NReco.PdfGenerator.HtmlToPdfConverter.GeneratePdf(String htmlContent, String coverHtml) +42 

Ich denke, das ist vielleicht ein Problem mit Berechtigungen oder so Ich Konfiguration auf meinem IIS, irgendeine Idee?

Antwort

11

Vermutlich fehlen Ihnen Visual C++ Redistributable Packages für VS2013 (x86). Selbst wenn auf Ihrem Server 64-Bit-Windows ausgeführt wird, müssen Sie die x86-C++ - Pakete installieren.