0

我使用 Pechkin 将我的页面转换为 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();
4

1 回答 1

1

听起来您的应用程序需要您登录。因为转换为 PDF 步骤发生在服务器上,服务器实际上并没有登录。您需要呈现该页面,而不是尝试将当前 URI 传递给 Pechkin在本地进行转换。

如果您想将 http URL 传递给 pechkin,则必须无需登录即可访问它,或者您必须传递足够的信息使其能够登录。

于 2017-02-02T12:09:24.070 回答