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.