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.