Зачем заканчивать сессию при конвертации страницы в pdf с помощью печкина в Asp.Net?

Я использую Печкина, чтобы преобразовать мою страницу в pdf, каждый раз, когда я пытаюсь преобразовать, генерируемая страница всегда является страницей входа. Но когда я открываю страницу напрямую, она открывается как обычно. это мой код, который я использовал для преобразования в PDF:

var client = new WebClient();
        String url = Request.Url.AbsoluteUri;
        string urlMap = new Uri(HttpContext.Current.Request.Url.AbsoluteUri).OriginalString;
        string urll = urlMap.Substring(0, urlMap.LastIndexOf("/"));
        string urlpdf = urll+"/PrintPdf.aspx?No=" + txtNo.Text + "&VoyNo=" + txtVoyage.Text + "";
        Response.Redirect(urlpdf);

        var pechkin = Factory.Create(new GlobalConfig());
        var pdf = pechkin.Convert(new ObjectConfig()
                                .SetLoadImages(true).SetZoomFactor(1.5)
                                .SetPrintBackground(true)
                                .SetScreenMediaType(true)
                                .SetCreateExternalLinks(true)
                                .SetIntelligentShrinking(true).SetCreateInternalLinks(true)
                                .SetPageUri(urlpdf));

        Response.Clear();

        Response.ClearContent();
        Response.ClearHeaders();

        Response.ContentType = "application/pdf";
        Response.AddHeader("Content-Disposition", string.Format("attachment;filename=test.pdf; size={0}", pdf.Length));
        Response.BinaryWrite(pdf);

        Response.Flush();
        Response.End();

1 ответ

Похоже, что ваше приложение требует, чтобы вы вошли в систему. Поскольку на сервере выполняется шаг преобразования в PDF, сервер фактически не вошел в систему. Вместо того, чтобы пытаться передать текущий URI Печкину, вам нужно будет отрендерить эту страницу. локально и конвертировать ТО.

Если вы хотите передать http URL для pechkin, то он должен быть доступен без входа в систему или вы должны передать достаточно информации, чтобы он мог войти в систему.

Другие вопросы по тегам