2009-04-13 50 views

答えて

5

は、あなたはそのようなテーブルを持っているとしましょう::

しかし、私は... another.aspxでxyz.aspxやデータ(SQLのデータテーブルからのデータ)

サンプルPDFファイルを開くことができる方法を学びたいです

CREATE TABLE PDFTable (
    [PDFID] [bigint] IDENTITY (1, 1) NOT NULL , 
    [PDFFile] [varbinary(max)] 
) 

この表にPDFファイルをバイナリ形式で保存します。そして、あなたはそのようなあなたの訪問者にあなたのPDFファイルを公開する:ここで

http://www.mysite.com/getpdf.aspx?pdfid=12

は、データベースからバイナリ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を開くことになります。

+0

詳細を教えてもらえますか?再度、感謝します... – Penguen

0

これには2つのステップがあります。

  1. データを含むpdfを作成します。
  2. ステップ1の場合は、ブラウザ

にPDFファイルを配信:PDFの書き込みに利用可能な多くのライブラリがあります。ちょうど1つを選ぶ。フォーマットが非常に複雑であるため、独自のPDF生成を行うことはおそらく実行可能ではありません。

ステップ2:Content.Headersにmime/pdf contentTypeを含めるように設定し、BinaryWriteを使用してPDFデータをブラウザに出力します。

0

また、content-typeヘッダーを設定して、MIMEタイプを "application/pdf"に設定する必要があります。

関連する問題