// iTextSharp.text Dll ini indirmeniz gerek ve add references deyip eklemelisiniz.
//İndirebileceğiniz adres http://sourceforge.net/projects/itextsharp/
// Eklenmesi gerek namespaceler
//İndirebileceğiniz adres http://sourceforge.net/projects/itextsharp/
// Eklenmesi gerek namespaceler
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
using System.Windows.Forms;
// Pdf export etme classımız
class PDFExport
{
public string FileName { get; set; } //pdf oluşturacağımız dosya adı
public string Text { get; set; } //dosyanın içinde oluşturacağımız pdf adı
public int PdfRowIndex { get; set; } //pdfrowindex
public string Path { get; set; }
public DataTable ToDatatable()
{
//DataTable Oluştur
DataTable dt = new DataTable("");
dt.Columns.Add(new DataColumn("", typeof(string)));
dt.Columns.Add(new DataColumn("", typeof(string)));
dt.Columns.Add(new DataColumn("", typeof(string)));
dt.Columns.Add(new DataColumn("", typeof(string)));
dt.Columns.Add(new DataColumn("", typeof(string)));
dt.Columns.Add(new DataColumn("", typeof(string)));
dt.Columns.Add(new DataColumn("", typeof(string)));
dt.Columns.Add(new DataColumn("", typeof(string)));
dt.Columns.Add(new DataColumn("", typeof(string)));
dt.Columns.Add(new DataColumn("", typeof(string)));
dt.Columns.Add(new DataColumn("", typeof(string)));
dt.Columns.Add(new DataColumn("", typeof(string)));
dt.Columns.Add(new DataColumn("", typeof(string)));
return dt;
}
public void ToPdf(DataGridView dgGecKalanKitap)
{
DataTable dtPDF = ToDatatable();
iTextSharp.text.Document document = new iTextSharp.text.Document();
string dosya = "C:\\Kütüphane Otamasyonu\\gecKalan.pdf"; //PDF imiz nereye kayıt edilecek ?
PdfWriter.GetInstance(document, new FileStream(dosya, FileMode.Create));
BaseFont arial = BaseFont.CreateFont("C:\\windows\\fonts\\arial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font font = new Font(arial, 12, Font.NORMAL);
document.Open();
PdfPTable table = null;
table = new PdfPTable(dgGecKalanKitap.Columns.Count);
table.WidthPercentage = 100;
string str = string.Empty;
for (int i = 0; i < dgGecKalanKitap.Columns.Count; i++)
{
str += dgGecKalanKitap.Columns[i].HeaderText;
if (dgGecKalanKitap.Columns.Count > i)
str += "+";
}
string str2 = str.TrimEnd('+').ToString();
///<summary></summary>
/// DataGridView kolonlarının sayısı kadar belgenin başlıkları doldurulur.
/// Pdf hücreleri oluşturulur.Dökumandaki başlık kısmı için ilk satır oluşturulur ve colspan yapılır.
///
PdfPCell cell = new PdfPCell(new Phrase(dosya));
cell.Colspan = dgGecKalanKitap.Columns.Count;
cell.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right
table.AddCell(cell);
///<summary></summary>
///pdf tablosu hücreleri doldurulur
///
for (int i = 0; i < dgGecKalanKitap.Columns.Count; i++)
{
table.AddCell(new Phrase(dgGecKalanKitap.Columns[i].HeaderText, font));
}
for (int i = 0; i < dtPDF.Rows.Count; i++)
{
for (int j = 0; j < dtPDF.Columns.Count; j++)
{
table.AddCell(new Phrase(dtPDF.Rows[i][j].ToString(), font));
PdfRowIndex++;
}
}
document.Add(table);
MessageBox.Show("Kaydınız Başarıyla Tamamlanmıştır!" + "\n" + "Kayıt Yeri" + " " + dosya, "Aktarım Sonucu", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
document.Close();
}
/// <summary></summary>
}
// Classımız yukardaki şimdi ise bunu istediğimiz yerde kullanalım. Sadece aşağıdaki gibi
// Kullanım export için yeterlidir. Geri kalan kısmını yukardaki class halledecektir.
// Sadece datagridview ismini düzgün vermeniz yeterli.
// Classımız yukardaki şimdi ise bunu istediğimiz yerde kullanalım. Sadece aşağıdaki gibi
// Kullanım export için yeterlidir. Geri kalan kısmını yukardaki class halledecektir.
// Sadece datagridview ismini düzgün vermeniz yeterli.
private void Gec_Kalan_Kitaplar_Load(object sender, EventArgs e)
{
EXCELPDFExporter PdfExport = new EXCELPDFExporter();
EXCELPDFExporter PdfExport = new EXCELPDFExporter();
PdfExport.FileName = this.Name;
PdfExport.Text = PdfExport.FileName + ".pdf";
PdfExport.PdfRowIndex = 1;
PdfExport.ToPdf(dataGridView1); // Hangi datagridview içinde ki verileri PDF olarak export edeceğiz
}
}
10 yorum:
EXCELPDFExporter nesnesini tanımıyor
nerde tanımıyor acaba ? Daha detaylı bilgi verirsen yardımcıolmaya çalışayım
PDF olarak kullandığımda benım datagrid imde hücre sayısı biraz fazla A4 kağıdını dikey olarak algılıyor. hucreleri kagıdın yatayına göre ayarlattırabılırmıyız ?
mustafa bey buradaki iTextSharp.text Dll indirmiyor nasıl indirebiliriz
Tekrar denermisiniz
aygıt hazır değil uyarısı veriyor, PdfWriter.GetInstance(document, new FileStream(dosya, FileMode.Create)); satırında, teşekkürler
hocam kolay gelsin
bir projem var.. projede picturebox gelen image ve sql kayıt edilmiş resimleri PDF aktarmak istiyorum..
nette araştırdım çok sağlıklı kaynak bulamadım bu konuda yardım edermisiniz..
teşkkürler
hocam kolay gelsin
bir projem var.. projede picturebox gelen image ve sql kayıt edilmiş resimleri PDF aktarmak istiyorum..
nette araştırdım çok sağlıklı kaynak bulamadım bu konuda yardım edermisiniz..
teşkkürler
Dostum excelpdfexport classını unuttun sanırım?
Herhangi bir eksik yok çalışır durumdadır
Yorum Gönder