动态创建 PDF 文件并绑定到 Pdf 查看器控件

本文关键字:Pdf 控件 绑定 创建 PDF 文件 动态 | 更新日期: 2023-09-27 18:37:26

我正在我的Silverlight应用程序中生成一个ssrs报告,我需要将ssrs报告转换为RadPDFViewer control(telerik silverlight)。所以我使用 WCF 将 pdf 文件保存在项目文件夹中。现在我需要再次读取该文件并将其绑定到 Pdfviewer

保存以异步方式进行。我应该如何等待文件保存,然后从文件夹中读取?

另外,您能否告诉我如何将PDF作为内存流阅读。

我运行以下代码失败。

public byte[] ReturnPdf(string requestUrl) {
        HttpWebRequest req = null; var buf = new byte[1024];
        try
        {
                req = (HttpWebRequest)WebRequest.Create(requestUrl);
                req.Credentials = CredentialCache.DefaultCredentials;
                req.Method = "GET"; var objResponse = req.GetResponse();
                var stream = objResponse.GetResponseStream();
                if (stream != null){BinaryReader br = new BinaryReader(stream);
                        buf = br.ReadBytes(1024);
                } if
                (stream != null) stream.Close();
        }
        catch Exception e){}return buf;
}
private void button2_Click(object sender, EventArgs e)
{
        string baseUrl = "http://abc/ReportServer&rs:Command=Render&rs:ClearSession=true&rs:Format=PDF";
        const string nullString = ":isnull=true";

        byte[] o = ReturnPdf(baseUrl);
        byte[] bytes = new byte[1024];
        Stream s = new MemoryStream(bytes);
}

动态创建 PDF 文件并绑定到 Pdf 查看器控件

编写 PDF 流:

将 PDF 流写入响应流

您可以检查文件是否已完全写入。

如何测试文件当前是否正在写入

或者这可能会有所帮助:

如何检查文件锁定?