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:
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
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.
La réponse précédente de Filip est fantastique. Ce lien peut aider pour itextsharp: