Générer un fichier pdf après avoir récupéré les informations

J’ai besoin de créer un fichier pdf à partir de données obtenues d’une firebase database. Je dois récupérer les données de la firebase database et générer ces données sous forme de fichier pdf.

Je voudrais avoir des pointeurs (informations utiles).

Je vous remercie.

vous pouvez utiliser itextsharp pour cela

protected void btnExportPdf_Click(object sender, EventArgs e) { Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;filename=BusinessUnit.pdf"); Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache); SsortingngWriter sw = new SsortingngWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); GridView grd = new GridView(); grd.DataSource = yourdatatable.DefaultView//get data from DB in Datatable grd.DataBind(); grd.RenderControl(hw); SsortingngReader sr = new SsortingngReader(sw.ToSsortingng()); Document pdfDoc = new Document(PageSize.A2, 8f, 8f, 8f, 8f); HTMLWorker htmlparser = new HTMLWorker(pdfDoc); PdfWriter.GetInstance(pdfDoc, Response.OutputStream); pdfDoc.Open(); htmlparser.Parse(sr); pdfDoc.Close(); Response.Write(pdfDoc); Response.End(); } 

Voici une liste des bibliothèques PDF Open Source que vous pouvez utiliser:

  • SharpPDF
  • iTextSharp
  • Report.NET
  • PDFjet

Exemple de PDFjet

 PDF pdf = new PDF(); Font f1 = new Font(pdf, "Helvetica"); Image image1 = new Image(pdf, "images/eu-map.png"); Image image2 = new Image(pdf, "images/fruit.jpg"); Image image3 = new Image(pdf, "images/mt-map.gif"); // Please note: // All font and image objects must be created // before the first page object. Page page = new Page(pdf, A4.PORTRAIT); text.SetText( "The map on the right is an embedded GIF image"); text.SetPosition(90.0, 800); text.DrawOn(page); image3.SetPosition(390, 630); image3.ScaleBy(0.5); image3.DrawOn(page); pdf.wrap(); pdf.save("Example_03.pdf"); 

Exemple de SharpPDF

 pdfDocument myDoc = new pdfDocument("TUTORIAL","ME"); pdfPage myPage = myDoc.addPage(); myPage.addText("Hello World!",200,450,predefinedFont.csHelvetica,20); myDoc.createPDF(@"c:\test.pdf"); myPage = null; myDoc = null; 

Exemple de Report.NET

 Report report = new Report(new PdfFormatter()); FontDef fd = new FontDef(report, "Helvetica"); FontProp fp = new FontPropMM(fd, 25); Page page = new Page(report); page.AddCenteredMM(80, new RepSsortingng(fp, "Hello World!")); RT.ViewPDF(report, "HelloWorld.pdf"); 

Exemple de iTextSharp

 Document document=new Document(); PdfWriter.getInstance(document,new FileOutputStream("hello.pdf")); document.open(); document.add(new Paragraph("Hello Pdf")); document.close(); 

Revenir à la volée créé des fichiers PDF

Vous pouvez renvoyer des données binarys à l’aide de Response.Write voir MSDN à la section “Comment écrire des données binarys”.

Voici un exemple d’utilisation de Response.WriteFile pour donner un fichier PDF à l’utilisateur:

 //Set the appropriate ContentType. Response.ContentType = "Application/pdf"; //Get the physical path to the file. ssortingng FilePath = MapPath("acrobat.pdf"); //Write the file directly to the HTTP content output stream. Response.WriteFile(FilePath); Response.End(); 

Comme si,

Heureusement, j’ai moi-même parcouru cette piste ces derniers temps. voici quelques liens qui m’ont aidé (liés à iTextSharp ):

http://www.mikesdotnetting.com/Article/80/Create-PDFs-in-ASP.NET-getting-started-with-iTextSharp

http://www.mikesdotnetting.com/Article/115/Microsoft-Chart-Controls-to-PDF-with-iTextSharp-and-ASP.NET-MVC

http://www.codeproject.com/Articles/66948/Rendering-PDF-views-in-ASP-MVC-using-iTextSharp.aspx?msg=3800063#xx3800063xx

cela fonctionne très bien avec cette bibliothèque et il est facile à utiliser.

Essayez d’utiliser l’une des bibliothèques existantes pour créer un fichier PDF. Voici un post avec de bonnes informations et de nombreuses ressources sur ce sujet.

https://stackoverflow.com/questions/177/how-do-i-programmatically-create-a-pdf-in-my-net-application/2384209#2384209

La réponse précédente de Filip est fantastique. Ce lien peut aider pour itextsharp:

http://forums.asp.net/t/1419119.aspx