我有以下代码,在生成 PDF 后,向 SQL 提交查询将显示在浏览器中。但我正在寻找的是在页面的 PDF 查看器中显示文件,而不是使用浏览器阅读器。查看器位于 DIV 内。您可以看到所附图像中显示的示例,我将其作为测试运行以显示来自本地系统的文件而不是流式传输。这个函数 Response.BinaryWrite(bytes); 将生成的 PDF 发送到浏览器查看器。我该怎么做才能让它显示在 DIV 内的查看器中?
string reportLabel = lbReports.Text;
document.Add(table);
document.Close();
byte[] bytes = memoryStream.ToArray();
Response.Clear();
Response.AddHeader("Content-Disposition", "inline");
Response.Buffer = true;
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.BinaryWrite(bytes);
这是应该在 DIV 中显示生成的 PDF 文件的代码:
string embed = "<object data=\"{0}\" type=\"application/pdf\" width=\"698px\" height=\"450px\">";
embed += "If you are unable to view file, you can download from <a href = \"{0}\">here</a>";
embed += " or download <a target = \"_blank\" href = \"http://get.adobe.com/reader/\">Adobe PDF Reader</a> to view the file.";
embed += "</object>";
ltEmbed.Text = string.Format(embed, ("blabla.pdf")); /*it shows this PDF as local file just for test*/
memoryStream.Close();
this.Context.ApplicationInstance.CompleteRequest();
图片在这里:样本
这个想法是临时生成文件,用户将决定是否保存它。我尝试了其他选项,但似乎都没有,尤其是在 DIV 中时。换句话说,我希望使用显示动态 PDF 文件ltEmbed.Text = string.Format(embed, ...);