یکی از مهمترین قالبهای ایجاد خروجی، فایلهای PDF هستند. یکی از بهمترین ویژگی این فایل ها (که در فرمتهای مشابه کمتر به چشم می خورد) این است که در تمام سیستم ها بدون توجه به نوع سیستم، سیستم عامل، فونتهای نصب شده و ... یکسان دیده میشوند و همچنین در اکثر سیستمها پشتبانی خوبی از آن شده است. با توجه به تنوع سیستمهای کاربران (مخصوصا در برنامه های تحت وب) این ویژگی بسیار بیشتر اهمیت خود را نشان می دهد. بنابراین چندان عجیب نیست که در حال حاضر یکی از محبوبترین فرمتهای ایجاد خروجی (مثلا در گزارشات) فرمت PDF محسوب میشود. کتابخانه های مختلفی برای ایجاد فایلهای PDF وجود دارد. بهترین کتابخانه ای که من برای زبانهای NET. دیده ام، کتابخانه iTextSharp است. این کتابخانه از روی iText که یکی از معروفترین کتابخانه های ایجاد و مدیریت فایل های PDF است، نوشته شده است. استفاده از این کتابخانه برای کار کردن با زبان فارسی به سادگی امکان پذیر است ولی نیاز به کمی دقت هنگام استفاده است. در اینجا میخواهم روش ساده استفاده از این کتابخانه برای ایجاد صفحات فارسی را توضیح دهم. اولین کاری که در استفاده از این کتابخانه باید انجام دهید، اضافه کردن فایل itextsharp.dll به رفرنس های پروژه است. آخرین نسخه این کتابخانه در زمان نوشتن این متن نسخه 4.1.6.0 است که از اینجا میتوانید آن را دریافت کنید. برای ایجاد فایل PDF از دو فضای نام زیر استفاده می شود:
view source
print?
1.using iTextSharp.text;
2.using iTextSharp.text.pdf;
ایجاد یک فایل PDf با استفاده از iTextSharp شامل 5 مرحله است.
ایجاد یک شئ از کلاس Document
ایجاد یک PdfWriter (که به شئ Document گوش میکند و خروجی را بر روی یک stream مینویسد)
باز کردن شئ Document
اضافه کردن محتوای فایل PDF
بستن شئ Document در ادامه به بررسی این مراحل می پردازیم.
1 ایجاد شئ Document
view source
print?
1.Document doc = new Document();
2 ایجاد PdfWriter
ورودی های تابع ایجاد کننده، یک شء از کلاس Document است (که در مرحله قبل ساخته شده است) و یک stream است که خروجی بر روی آن نوشته می شود.
view source
print?
1.PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream("sample.pdf", FileMode.Create));
3 باز کردن شئ Document
view source
print?
1.doc.Open();
4 اضافه کردن محتوای فایل PDF
برای اضافه کردن یک متن انگلیسی، به سادگی می توان از دستوری مانند دستور زیر استفاده کرد:
view source
print?
1.doc.Add(new Paragraph("Hello World"));
ولی برای استفاده از زبان فارسی، کار کمی بیشتر است و باید حتما جهت نوشته ها را به راست به چپ تبدیل کنیم و فونت مناسب انتخاب کنیم. برای تمرکز بیشتر در مراحل، این موارد را در ادامه (بعد از توضیح مراحل) آورده ام.
5 بستن Document
view source
print?
1.doc.Close();
کار با متون فارسی
همانطور که گفته شد، برای کار با متون فارسی، باید جهت نوشته ها به صورت راست به چپ شود و همچنین فونت مناسب انتخاب شود. یکی از فونتهایی که برای زبان فارسی به خوبی کار میکند و در اکثر سیستمها موجود است، فونت Tahoma است. نکته قابل توجه اینکه این فونت تنها در کامپیوتری که فایل PDF را ایجاد میکند مورد نیاز است و به علت اینکه در فایل PDF گنجانده خواهد شد، در سایر کامپیوترهایی که فایل PDF را مشاده می کنند، نیازی به وجود این فونت نیست. برای استفاده از فونتها، ابتدا باید پوشه حاوی فونتها را به iTextSharp معرفی کنیم و سپس فونت مورد علاقه خود را توسط تابع FontFactory.GetFont انتخاب کنیم. تنها نکته مهم در اینجا استفاده از encoding مناسب است که برای زبان فارسی (یا به طور کلی یونیکد) از IDENTITY_H استفاده می شود. سایر پارامترهای ورودی این تابع مشخص است و نیازی به توضیح اضافی ندارد.
view source
print?
1.FontFactory.RegisterDirectories();
2.Font fTahoma = FontFactory.GetFont("Tahoma", BaseFont.IDENTITY_H, 12, Font.NORMAL, Color.BLACK);
برای تبدیل جهت نوشته ها، به طور مستقیم نمیتوانیم عمل کنیم و حتما باید نوشته ها را در یک عنصر دیگر که این قابلیت را داشته باشد قرار دهیم. در iTextSharp تنها دو عنصر هستند که این قابلیت را دارند. یکی ColumnText و دیگری PdfPTable است. در این دو عنصر میتوانیم با تنظیم RunDirection، جهت متون را راست به چپ کنیم و متون فارسی را به خوبی در آنها نمایش دهیم. PdfPTable، مشابه جداول در Html کار میکند و ColumnText هم برای ایجاد ستونهای حاوی متون (به صورت یک مستطیل در صفحه) استفاده می شود. در اینجا برای نمونه استفاده از ColumnText نشان داده می شود. ابتدا یک شئ از کلاس ColumnText با استفاده از محتویات شئ PdfWriter ایجاد میکنیم و مقدار RunDirection آن را تنظیم میکنیم. سپس نوع ستون و ویژگیهای آن را تعیین میکنیم. در اینجا من از ستون ساده استفاده کرده ام که پارامترهای ورودی آن، مختصات گوشه های مستطیل است. بعد از آن، بجای اضافه کردن محتویات به طور مستقیم به Document، محتویات را به شئ ایجاد شده از ColumnText اضافه میکنیم (استفاده از فونت مناسب فراموش نشود). در انتها نیز، با استفاده از متد Go، محتویات ColumnText را در Document می نویسیم.
view source
print?
1.ColumnText ct = new ColumnText(writer.DirectContent);
2.ct.RunDirection = PdfWriter.RUN_DIRECTION_RTL;
3.ct.SetSimpleColumn(20, 20, 555, 800);
4.ct.AddText(new Phrase(txt, fTahoma));
5.ct.Go();
دانلود کردن PDF ساخته شده در ASP.NET
در برنامه های تحت وب، بسیار رایج است که بخواهیم فایل ایجاد شده را در سرور، بر روی هارددیسک ننویسیم و آن را در حافظه ایجاد کرده و مستقیما برای دانلود به کلاینت ارسال کنیم. برای این کار می توانیم بجای stream ایجاد شده در مثال بالا، از MemoryStram استفاده کنیم.
view source
print?
1.MemoryStream stream = new MemoryStream();
2.PdfWriter writer = PdfWriter.GetInstance(doc, stream);
سپس در پایان کار، برای دانلود PDF ایجاد شده در حافظه، ابتدا آن را به یک بافر منتقل میکنیم، و سپس با استفاده از شئ Response محتوای بافر را مستقیما به کلاینت میفرستیم. در صورتی که بخواهیم فایل حتما دانلود شود و در مرورگر کاربر باز نشود، می توانیم با استفاده از هدر content-disposition این موضوع را به مرورگر اطلاع دهیم. در این صورت حتی در صورت نصب بودن پلاگین مشاهده PDF بر روی مرورگر، بازهم صفحه دانلود فایل باز خواهد شد.
view source
print?
01.byte[] buffer = stream.GetBuffer();
02.stream.Close();
03.Response.ClearContent();
04.Response.AddHeader("content-disposition", "attachment; filename=test.pdf");
05.Response.ContentType = "application/pdf";
06.Response.OutputStream.Write(buffer, 0, buffer.Length);
07.Response.OutputStream.Flush();
08.Response.OutputStream.Close();
09.Response.End();
آموزشpower point ( بصورت مقدماتی)
مقدمه
برنامه Power Point یکی از برنامه های بسته نرم افزاری Office به شمار میرود که با آن میتوانید مجموعه اسلایدهایی که متن را با متن های رسم شده Clipart ، عکس، صدا، تصویر ، و حتی جلوه های ویژه متحرک نمایش دهید. پس میتوانید کارتان را به اسلایدهای 35mm تبدیل کنید . علاوه بر اینها چون Power Point یک Package است میتوانید سند های Word ، کاربرگهای Excel را به صورت گرافیک و متن و به Power Point اضافه نمایید.
در حقیقت Power Point قسمت سمعی – بصری برنامه Office است. برنامه Power Point با نصب برنامه Office در سیستم شما دیده میشود.
برای مطالعه ی این دوره ی آموزشی نیاز است کاربران محترم آشنایی مقدماتی با محیط Windows داشته باشند . جهت نصب و اجرای نرم افزارهای Office که Power - Point نیز شامل آن می شود ، نیاز به سیستمی با مشخصات ذیل می باشد :