Как отобразить PDF с помощью PdfSharp в ASP.Net MVC?

Мы'создаем приложение ASP.Net MVC, которое должно иметь возможность генерировать PDF-файл и отображать его на экране или сохранять в удобном для пользователя месте. Мы'повторно использовать PdfSharp для генерации документа. ОднаждыЗакончено, как мы можем позволить пользователю сохранить документ или открыть его в считывателе? Я'Я особенно запутался, потому что PDF создается на стороне сервера, но мы хотим, чтобы он отображался на стороне клиента.

Вот контроллер MVC для создания отчета, который мы написали до сих пор:

public class ReportController : ApiController
{
    private static readonly string filename = "report.pdf";

    [HttpGet]
    public void GenerateReport()
    {
        ReportPdfInput input = new ReportPdfInput()
        {
            //Empty for now
        };

        var manager = new ReportPdfManagerFactory().GetReportPdfManager();
        var documentRenderer = manager.GenerateReport(input);
        documentRenderer.PdfDocument.Save(filename); //Returns a PdfDocumentRenderer
        Process.Start(filename);
    }
}

Когда это работает, я получаюUnauthorizedAccessException вdocumentRenderer.PdfDocument.Save(filename); что говорит, яAccess to the path 'C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\report.pdf' is denied.м также не уверен, что произойдет, когда линияProcess.Start(filename); выполнен.

Это код в: яmanager.GenerateReport(input)

public class ReportPdfManager : IReportPdfManager
{
    public PdfDocumentRenderer GenerateReport(ReportPdfInput input)
    {
        var document = CreateDocument(input);
        var renderer = new PdfDocumentRenderer(true, PdfSharp.Pdf.PdfFontEmbedding.Always);
        renderer.Document = document;
        renderer.RenderDocument();

        return renderer;
    }

    private Document CreateDocument(ReportPdfInput input)
    {
        //Put content into the document
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос