shaliakbari@gmail.com
جمعه 25 فروردین 1391, 18:50 عصر
سلام
با کامپوننت iTextSharp می تونیم فایل های pdf تولید کنیم و به راحتی هم همه جا ازشون استفاده کنیم .
برای استفاده از فونت های معمولی مشکلی نیست چون فونت در pdf بارگذاری (embed) می شه . ولی مشکل فونت نستعلیق اینه که حتی زمانیکه ازش استفاده می شه تو pdf نوشته به هم میریزه .
اکه با word یک متن با این فونت بنویسید و به pdf ذخیره کنید مشکلی پیش نمیاد پس می شه گفت راه برای درست کردنش هست . کد خروجی گرفتن و هم می ذارم . فقط چون این کد رو از توی برنامه برداشتم اگه می خواید ازش استفاده کنید باید متغییر هاشو ثابت کنید .
using (MemoryStream pdf = new MemoryStream())
using (Document document = new Document(PageSize.A4))
using (PdfWriter writer = PdfWriter.GetInstance(document, pdf))
{
document.Open();
BaseFont regFont = BaseFont.CreateFont(family, BaseFont.IDENTITY_H , true);
PdfPTable table = new PdfPTable(1);
table.TotalWidth = size.Width;
table.RunDirection = PdfWriter.RUN_DIRECTION_RTL;
PdfPCell cell = new PdfPCell(new Phrase(10, Values[name], new
iTextSharp.text.Font(regFont, fontSize * 72 / 96)));
cell.BorderWidth = 0;
cell.BorderColor = BaseColor.GRAY;
cell.HorizontalAlignment = align;
table.AddCell(cell);
int top = 0, left = 0;
top = Convert.ToInt32(writer.PageSize.Height) - location.Y;
left = location.X;
table.WriteSelectedRows(0, -1, left, top, writer.DirectContent);
document.Close();
با کامپوننت iTextSharp می تونیم فایل های pdf تولید کنیم و به راحتی هم همه جا ازشون استفاده کنیم .
برای استفاده از فونت های معمولی مشکلی نیست چون فونت در pdf بارگذاری (embed) می شه . ولی مشکل فونت نستعلیق اینه که حتی زمانیکه ازش استفاده می شه تو pdf نوشته به هم میریزه .
اکه با word یک متن با این فونت بنویسید و به pdf ذخیره کنید مشکلی پیش نمیاد پس می شه گفت راه برای درست کردنش هست . کد خروجی گرفتن و هم می ذارم . فقط چون این کد رو از توی برنامه برداشتم اگه می خواید ازش استفاده کنید باید متغییر هاشو ثابت کنید .
using (MemoryStream pdf = new MemoryStream())
using (Document document = new Document(PageSize.A4))
using (PdfWriter writer = PdfWriter.GetInstance(document, pdf))
{
document.Open();
BaseFont regFont = BaseFont.CreateFont(family, BaseFont.IDENTITY_H , true);
PdfPTable table = new PdfPTable(1);
table.TotalWidth = size.Width;
table.RunDirection = PdfWriter.RUN_DIRECTION_RTL;
PdfPCell cell = new PdfPCell(new Phrase(10, Values[name], new
iTextSharp.text.Font(regFont, fontSize * 72 / 96)));
cell.BorderWidth = 0;
cell.BorderColor = BaseColor.GRAY;
cell.HorizontalAlignment = align;
table.AddCell(cell);
int top = 0, left = 0;
top = Convert.ToInt32(writer.PageSize.Height) - location.Y;
left = location.X;
table.WriteSelectedRows(0, -1, left, top, writer.DirectContent);
document.Close();