2009-04-13 6 views
1

je reçois des données (prix des voitures volvo) ma base de données xml ou sql, j'ai "xyz.aspx" page. Comment puis-je ouvrir pdf dans un navigateur Web. Mais je veux savoir comment puis-je ouvrir pdf (données sql datatable) xyz.aspx ou des données another.aspx ...Comment ouvrir les données au format PDF du navigateur?

Exemple: Volvos'prices pdf

+0

Le fichier PDF s'est correctement ouvert dans mon navigateur. Adobe dans Chrome –

Répondre

5

Disons que vous avez une table comme ça:

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

et vous stockez vos fichiers PDF dans ce tableau au format binaire. Et vous voulez exposer vos fichiers PDF à vos visiteurs comme ça:

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

Voici un exemple pour la lecture des données binaires PDF à partir de la base de données et de l'écriture à flux de réponse:

// 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()); 
    } 
} 

Cette page obligera votre client à ouvrir le pdf dans son navigateur.

+0

Pouvez-vous me donner quelques détails? Merci encore... – Penguen

0

Il y a deux étapes à cela.

  1. Produire un pdf contenant les données.
  2. Livrer les pdf dans le navigateur

Pour l'étape 1: Il existe de nombreuses bibliothèques disponibles pour l'écriture de pdf. Choisissez-en un. Faire votre propre génération de PDF n'est probablement pas viable, car le format est très compliqué.

Pour l'étape 2: définissez Content.Headers comme incluant un type de contenu mime/pdf et utilisez BinaryWrite pour mettre les données PDF dans le navigateur.

0

Vous devez également définir votre type mime sur "application/pdf" en définissant l'en-tête de type de contenu.

Questions connexes