PDA

View Full Version : سوال: مشکل پشتیبانی نشدن زبان فارسی در خروجی Pdf با کامپوننت iTextSharp در ویندوز فرم سی شارپ



nem3sis
یک شنبه 08 دی 1398, 14:10 عصر
سلام , خسته نباشید دوستان.
من واسه برنامه دفترچه تلفن یه باتن گذاشتم که اطلاعات گریدویو رو به صورت پی دی اف خروجی بده بهم.
ولی پی دی افیکه میده متون فارسی رو ؟؟؟؟؟؟ نشون میده و فارسی رو اصلا پشتیبانی نمیکنه.
اگه کسی میدونه کمک کنه لطفا.




(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");
}
}






151191

anubis_ir
یک شنبه 08 دی 1398, 17:38 عصر
«نکات تولید PDFهای فارسی توسط iTextSharp (https://www.dotnettips.info/learningpaths/details/1)» را مطالعه كنيد.