PDFsharp is the Open Source library for creating and modifying Adobe PDF documents programmatically. You can freely download the Assemblies version from the following link:

After download the zip file, extract it and add the reference to your c# project,

  1. using System;
  2. using System.Windows.Forms;
  3. using System.Diagnostics;
  4. using PdfSharp;
  5. using PdfSharp.Drawing;
  6. using PdfSharp.Pdf;
  7. using System.Data.SqlClient;
  8. using System.Data;
  9. namespace WindowsFormsApplication1
  10. {
  11. public partial class Form1: Form
  12. {
  13. public Form1()
  14. {
  15. InitializeComponent();
  16. }
  17. private void button1_Click(object sender, EventArgs e)
  18. {
  19. try
  20. {
  21. string connetionString = null;
  22. SqlConnection connection;
  23. SqlCommand command;
  24. SqlDataAdapter adapter = new SqlDataAdapter();
  25. DataSet ds = new DataSet();
  26. int i = 0;
  27. string sql = null;
  28. int yPoint = 0;
  29. string pubname = null;
  30. string city = null;
  31. string state = null;
  32. connetionString = "Data Source=codbazar;Initial Catalog=pdf;User ID=sa;Password=cod123";
  33. sql = "select pub_name,city,country from pdftable";
  34. connection = new SqlConnection(connetionString);
  35. connection.Open();
  36. command = new SqlCommand(sql, connection);
  37. adapter.SelectCommand = command;
  38. adapter.Fill(ds);
  39. connection.Close();
  40. PdfDocument pdf = new PdfDocument();
  41. pdf.Info.Title = "Database to PDF";
  42. PdfPage pdfPage = pdf.AddPage();
  43. XGraphics graph = XGraphics.FromPdfPage(pdfPage);
  44. XFont font = new XFont("Verdana", 20, XFontStyle.Regular);
  45. yPoint = yPoint + 100;
  46. for (i = 0; i < = ds.Tables[0].Rows.Count - 1; i++)
  47. {
  48. pubname = ds.Tables[0].Rows[i].ItemArray[0].ToString();
  49. city = ds.Tables[0].Rows[i].ItemArray[1].ToString();
  50. state = ds.Tables[0].Rows[i].ItemArray[2].ToString();
  51. graph.DrawString(pubname, font, XBrushes.Black, new XRect(40, yPoint, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
  52. graph.DrawString(city, font, XBrushes.Black, new XRect(280, yPoint, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
  53. graph.DrawString(state, font, XBrushes.Black, new XRect(420, yPoint, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
  54. yPoint = yPoint + 40;
  55. }
  56. string pdfFilename = "dbtopdf.pdf";
  57. pdf.Save(pdfFilename);
  58. Process.Start(pdfFilename);
  59. } catch (Exception ex)
  60. {
  61. MessageBox.Show(ex.ToString());
  62. }
  63. }
  64. }
  65. }