我得到数据(沃尔沃汽车的价格)我的xml或sql数据库,我有“xyz.aspx”页面。如何在Web浏览器中打开pdf。但我想学习如何打开pdf(sql datatable中的数据)xyz.aspx或another.aspx中的数据......
答案 0 :(得分:5)
假设你有一张这样的表:
CREATE TABLE PDFTable (
[PDFID] [bigint] IDENTITY (1, 1) NOT NULL ,
[PDFFile] [varbinary(max)]
)
并以二进制格式将PDF文件存储在此表中。并且您希望将PDF文件公开给您的访问者:
以下是从数据库读取二进制pdf数据并将其写入响应流的示例:
// PageLoad event of your getpdf.aspx page :
long pdfId= Convert.ToInt64(Request.QueryString["pdfid"]);
using (var conn = new SqlConnection(connectionString))
{
using (var command = new SqlCommand(
"SELECT PDFFile FROM PDFTable WHERE PDFId = @PDFID", conn))
{
command.Parameters.Add("@PDFID", SqlDbType.Int).Value = pdfId;
conn.Open();
Response.ContentType = "application/pdf";
Response.BinaryWrite((byte[]) command.ExecuteScalar());
}
}
此页面将导致您的客户在他/她的浏览器中打开pdf。
答案 1 :(得分:0)
这有两个步骤。
对于第1步:有许多可用于pdf编写的库。选择一个。做自己的PDF生成可能不可行,因为格式非常复杂。
对于第2步:将Content.Headers设置为包含mime / pdf contentType,并使用BinaryWrite将pdf数据输出到浏览器。
答案 2 :(得分:0)
您还需要通过设置内容类型标题将mime类型设置为“application / pdf”。