Programlama ve Yazılım

C# dataGridView’den PDF Dosyasına Veri Aktarma

Bu yazımızda Datagridview deki kayıtlarımızı nasıl pdf dosyasına aktaracağımıza bakacağız.

Öncelikle projemize İtextSharp kütüphanesini eklememiz gerekmektedir. Açık kaynaklı olan bu kütüphane ile içeriklerimizi Pdf çevirebiliriz.

İtextSharp kütüphanesini indirmek için Tıklayınız .

Kütüphanemizi indirdikten sonra projemize ekleyelim Türkçe olanlar için Başvurular sağ tıklayıp başvuru ekle diyip itextsharp.dll kütüphanemizi referans olarak ekleyelim

Daha sonra kod kısmına geçebiliriz.

using System;
using System.IO;
using System.Windows.Forms;
using iTextSharp.text.pdf;
using iTextSharp.text;

namespace Proje1
{
  class pdfAktar
   {
       public static void pdfKaydet(DataGridView veriTablosu)
       {
           try
           {
               PdfPTable pdfTablosu = new PdfPTable(veriTablosu.ColumnCount);
               pdfTablosu.DefaultCell.Padding = 3;
               pdfTablosu.WidthPercentage = 100;
               pdfTablosu.HorizontalAlignment = Element.ALIGN_LEFT;
               pdfTablosu.DefaultCell.BorderWidth = 1;
               foreach (DataGridViewColumn sutun in veriTablosu.Columns)
               {
                   PdfPCell pdfHucresi = new PdfPCell(new Phrase(sutun.HeaderText));
                   pdfHucresi.BackgroundColor = Color.LIGHT_GRAY;
                   pdfTablosu.AddCell(pdfHucresi);
               }
               foreach (DataGridViewRow satir in veriTablosu.Rows)
               {
                   foreach (DataGridViewCell cell in satir.Cells)
                   {
                       pdfTablosu.AddCell(cell.Value.ToString());
                   }
               }

               SaveFileDialog dosyakaydet = new SaveFileDialog();
               dosyakaydet.FileName = "projePDfDosyaAdı";
               dosyakaydet.InitialDirectory = Environment.SpecialFolder.Desktop.ToString();
               dosyakaydet.Filter = "PDF Dosyası|*.pdf";
               if (dosyakaydet.ShowDialog() == DialogResult.OK)
               {
                   using (FileStream stream = new FileStream(dosyakaydet.FileName, FileMode.Create))
                   {
                       Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
                       PdfWriter.GetInstance(pdfDoc, stream);
                       pdfDoc.Open();
                       pdfDoc.Add(pdfTablosu);
                       pdfDoc.Close();
                       stream.Close();
                       MessageBox.Show("PDF dosyası başarıyla oluşturuldu!\n" + "Dosya Konumu: " + dosyakaydet.FileName, "İşlem Tamam");
                   }
               }
           }
           catch (Exception hata)
           {
               MessageBox.Show(hata.Message);
           }
       }
   }
}

Yukarıdaki kodlarımızı inceleyerek daha detaylı bilgi edinebilirsiniz .

Kullanımı :

Kullanımı için pdfAktar.pdfKaydet(dataGridView1); şeklinde ilgili kısımda tanımlama yapmanız yeterlidir. dataGridView1  yerine eger nesne için farklı bir nesne adı belirlediyseniz onu kullanmanız gerekmektedir.

 

Etiketler
Daha Fazla Göster

MeK

Pamukkale Üniversitesi Elektrik Elektronik Mühendisliği ni 2018 yılında bitirdim. 2018 yılında Yüksek Lisansa Karatekin Üniversitesi Elektrik Elektronik Mühendisliğine başladım. Programlamayı seviyorum Delphi, C# , C , PHP dillerine hakimim ARM ile uğraşıyorum bunların yanında web tasarım ve sunucu yönetimi ile hobi olarak uğraşıyorum. Sizlere Kodmek sayfamda hakim olduğum diller ve öğrenmek istediğim konularda yardımcı olmaya çalışacağım

Bir cevap yazın

Başa dön tuşu
Kapalı