PDA

View Full Version : تبدیل متن به فایل pdf فارسی itext



ikallam
چهارشنبه 13 شهریور 1392, 18:29 عصر
سلام به اساتید گرامی . من واسه تبدیل متن به pdf از itext استفاده کردم و تونستم انگلیسی رو تبدیل به فارسی کنم - حالا مشکل این جاست که متن فارسی رو نمیتونم به فایل pdf تبدیل کنم
از این کد هم استفاده کردم ولی خطا میده میشه بگید کجاش اشتباه هست ممنون .:قلب:

FontFactory.RegisterDirectories();
Font fTahoma = FontFactory.GetFont("Tahoma", BaseFont.IDENTITY_H, 12, Font.NORMAL, Color.BLACK);

قسمت Font.NORMAL رو نمیشناسه

BaseFont unicode = BaseFont.createFont(fontUrl, BaseFont.IDENTITY_H, true);
Font font = new Font(unicode, fontSize);


اینم نشد میشه بگید مشکل کجاست

setarejooon
چهارشنبه 13 شهریور 1392, 22:00 عصر
سلام من هم این مشکل رو داشتم
فکر کنم این کد کمکت کنه

BaseFont bf = BaseFont.CreateFont( @"C:\Windows\fonts\BNAZANIN.TTF", BaseFont.IDENTITY_H, true);
iTextSharp.text.Font font = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL);

ikallam
پنج شنبه 14 شهریور 1392, 00:55 صبح
سلام من هم این مشکل رو داشتم
فکر کنم این کد کمکت کنه

BaseFont bf = BaseFont.CreateFont( @"C:\Windows\fonts\BNAZANIN.TTF", BaseFont.IDENTITY_H, true);
iTextSharp.text.Font font = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL);


سلام ممنون درست شد ولی توی فایل pdf متن ها به هم چسبیده نیستند و کلمات از هم دیگر جدا نوشته میشن واسه شما هم همین جوری بود ؟؟؟؟

setarejooon
پنج شنبه 14 شهریور 1392, 10:28 صبح
سلام ممنون درست شد ولی توی فایل pdf متن ها به هم چسبیده نیستند و کلمات از هم دیگر جدا نوشته میشن واسه شما هم همین جوری بود ؟؟؟؟


نه واسه من مشکلی نداره . این کد کاملشه

public void ConvertGrdiViewToPDF(DataGridView datagridview)
{
FolderBrowserDialog FB = new FolderBrowserDialog();
if (FB.ShowDialog() == DialogResult.OK)
{
//Create the PDF Document
iTextSharp.text.Document pdfDoc = new iTextSharp.text.Document(PageSize.A4, 10f, 10f, 10f, 0f);
PdfWriter.GetInstance(pdfDoc, new FileStream(FB.SelectedPath + @"\" + System.DateTime.Now.Hour.ToString() + "_" +
System.DateTime.Now.Minute.ToString() + "_" + System.DateTime.Now.Second.ToString() + ".pdf", FileMode.Create));
pdfDoc.Open();
BaseFont bf = BaseFont.CreateFont(@"C:\Windows\fonts\BNAZANIN.TTF", BaseFont.IDENTITY_H, true);
iTextSharp.text.Font font = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL);

iTextSharp.text.pdf.PdfPTable table = new iTextSharp.text.pdf.PdfPTable(dgvReport.Columns.Co unt);
int[] widths = new int[dgvReport.Columns.Count];
for (int i = 0; i < dgvReport.Columns.Count; i++)
{
widths[i] = (int)dgvReport.Rows.Count;
string cellText = dgvReport.Columns[i].Name.ToString();
iTextSharp.text.pdf.PdfPCell cell = new iTextSharp.text.pdf.PdfPCell(new Phrase(12, cellText, font));
cell.BackgroundColor = new iTextSharp.text.Color(System.Drawing.ColorTranslat or.FromHtml("#008000"));
cell.RunDirection = PdfWriter.RUN_DIRECTION_RTL;
table.AddCell(cell);
}
table.SetWidths(widths);

for (int i = 0; i < dgvReport.Rows.Count - 1; i++)
for (int j = 0; j < dgvReport.Columns.Count; j++)
{
string cellText = dgvReport.Rows[i].Cells[j].Value.ToString();
iTextSharp.text.pdf.PdfPCell cell = new iTextSharp.text.pdf.PdfPCell(new Phrase(12, cellText, font));
cell.RunDirection = PdfWriter.RUN_DIRECTION_RTL;
table.AddCell(cell);
}
pdfDoc.Add(table);
pdfDoc.Close();
}
}