سلام , خسته نباشید دوستان.
من واسه برنامه دفترچه تلفن یه باتن گذاشتم که اطلاعات گریدویو رو به صورت پی دی اف خروجی بده بهم.
ولی پی دی افیکه میده متون فارسی رو ؟؟؟؟؟؟ نشون میده و فارسی رو اصلا پشتیبانی نمیکنه.
اگه کسی میدونه کمک کنه لطفا.
(public void ExportToPdf(DataGridView dgv,string filename)
{
BaseFont bf = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1250, BaseFont.EMBEDDED);
PdfPTable pdftable = new PdfPTable(dgv.Columns.Count);
pdftable.DefaultCell.Padding = 3;
pdftable.WidthPercentage = 100;
pdftable.HorizontalAlignment = Element.ALIGN_LEFT;
pdftable.DefaultCell.BorderWidth = 1;
iTextSharp.text.Font text = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL);
//Add Header
foreach (DataGridViewColumn column in dgv.Columns)
{
PdfPCell cell = new PdfPCell(new Phrase(column.HeaderText,text));
cell.BackgroundColor = new iTextSharp.text.BaseColor(240, 240, 240);
pdftable.AddCell(cell);
}
//Add DarwArrow
foreach (DataGridViewRow row in dgv.Rows)
{
foreach(DataGridViewCell cell in row.Cells)
{
pdftable.AddCell(new Phrase(cell.Value.ToString(),text));
}
}
var savefiledialog = new SaveFileDialog();
savefiledialog.FileName = filename;
savefiledialog.DefaultExt = ".pdf";
if(savefiledialog.ShowDialog()==DialogResult.OK)
{
using (FileStream stream = new FileStream(savefiledialog.FileName, FileMode.Create))
{
Document pdfdoc = new Document(PageSize.A4, 10f, 10f, 0f,10);
PdfWriter.GetInstance(pdfdoc, stream);
pdfdoc.Open();
pdfdoc.Add(pdftable);
pdfdoc.Close();
stream.Close();
}
}
}
private void چاپToolStripMenuItem_Click(object sender, EventArgs e)
{
ExportToPdf(DG_Info, "MyContacts");
}
}
Capture.PNG