روش متداول تعریف فونت در iTextSharp به صورت زیر است:public static iTextSharp.text.Font Tahoma()
{
var fontPath = Environment.GetEnvironmentVariable("SystemRoot") + "\\fonts\\tahoma.ttf";
var baseFont = BaseFont.CreateFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
return new Font(baseFont);
}
از آنجائیکه خصوصا برای متون فارسی نیاز است تا به ازای هر المان کوچکی این فونت تنظیم شود و در غیر اینصورت متنی نمایش داده نخوا ...
کلاس جنریک زیر را در نظر بگیرید:public class Column<T>
{
public string Name { set; get; }
public T Data { set; get; }
}
مشکلی که با این نوع کلاسها وجود دارد این است که نمیتوان مثلا لیست زیر را در مورد آنها تعریف کرد:IList<Column<T>> myList = new List<Column<T>>();
به عبارتی میخواهیم یک لیست از کلاسی جنریک داشته باشیم. راه حل انجام آن به صورت زیر است:using System.Collections;
namespace Tests
{
...
این روزها توسعه دهندگان مرورگرها، شمارههای نگارشهای برنامههای خود را مرتبا و با اعداد نجومی بالا میبرند. امروز فایرفاکس 5، تا چند وقت دیگر فایرفاکس 8 هم در راه خواهد بود؛ سایر مرورگرها نیز به همین ترتیب. به همراه نگارشهای متفاوت دات نت، یک سری browser definition files نیز وجود دارد که تنها بازهی محدودی از این شماره نگارشها در آنها تعریف شده است. در نتیجه زمانیکه مثلا مرورگر کاربر IE 10 باشد، آنرا به عنوان unknown browser تشخیص داد ...
فرض کنید جدولی دارید با چند ستون محدود که نتیجهی نهایی گزارش آن مثلا 100 صفحه است. جهت صرفه جویی در کاغذ مصرفی شاید بهتر باشد که این جدول را به صورت چند ستونی مثلا 5 ستون در یک صفحه نمایش داد؛ چیزی شبیه به شکل زیر:روش انجام اینکار به کمک iTextSharp به صورت زیر است:using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
...
عموما هنگام تهیه یک مستند یا گزارش، هرچقدر حجم نهایی کمتر باشد، توزیع آن سادهتر خواهد بود. در اینجا اینطور به نظر میرسد که اگر مثلا از تصاویری با فرمت jpg یا png استفاده کنیم، کمترین حجم نهایی را میتوان بدست آورد. اما حین استفاده از iTextSharp شما با استفاده از تصاویری با فرمت BMP بهترین نتیجه را خواهید گرفت: کمترین حجم و بهترین کیفیت! البته یک نکتهی ریز دارد که باید رعایت شود:using (var pdfDoc = new Document(PageSize.A4))
{
va ...
کتاب «مرجع کامل entity framework 4.1» نوشتهی آقای راد نزدیک به یک ماهی است که منتشر شده است. فرصتی پیدا شد تا این کتاب حدودا 260 صفحهای را مطالعه کنم و در ادامه توضیحاتی را پیرامون آن مطالعه خواهید کرد.بررسی کتابدر عنوان کتاب ذکر شده «مرجع کامل»؛ ولی خوب، 260 نمیتونه مرجع کامل باشه. بنابراین کمی رعایت اعتدال در کارهای بعدی لازم به نظر میرسد. همچنین یک مورد را هم همیشه در نشر کتب تخصصی در نظر داشته باشید: «ذکر شماره نگارش محصول» مورد نظ ...
فرض کنید میخواهیم تصویری را در پس زمینهی تمام صفحات pdf تولیدی توسط iTextSharp قرار دهیم. برای این منظور شبیه به مطلب «نمایش تعداد کل صفحات در iTextSharp» میتوان از رخدادهای صفحات استفاده کرد. در متد رویداد گردان OnOpenDocument، یک قالب را به اندازهی یک صفحهی متنی تهیه میکنیم. سپس در متد OnStartPage، این قالب را به تمام صفحات اضافه خواهیم کرد. در حقیقت فضایی را به این شکل رزرو میکنیم و در نهایت در متد OnCloseDocument ، تصویر مورد ن ...
زمانیکه در VS.NET یک اسمبلی دارای امضای دیجیتال را اضافه میکنیم، در فایل پروژه برنامه مدخلی شبیه به عبارت زیر اضافه میشود:<Reference Include="NHibernate, Version=2.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
همانطور که ملاحظه میکنید، شماره نگارش فایل، PublicKeyToken و غیره دقیقا ذکر میشوند. حال اگر همین پروژه را بخواهید به نگارش 3.2 ارتقاء دهید، احتمالا به روش متداول کپی اسمبلی جدید در ...
اگر پس از ارسال کدها در بلاگر فاصلههای عجیبی را بین سطرهای رندر شده مشاهده کردید، مشکل از قرار دادن تک BR به صورت خودکار است!
برای حل این مشکل به آدرس زیر مراجعه کنید:
Dashboard -> Settings -> Formatting -> Convert line breaks -> change to No
یا در قسمت کنترل پنل فارسی : تنظیمات ، قسمت قالب بندی و سپس گزینهی «برعکس کردن شکست خط» را خیر کنید.
در مورد static reflection مقدمهای پیشتر در این سایت قابل مطالعه است (^) و پیشنیاز بحث جاری است. در ادامه قصد داریم یک سری از کاربردهای متداول آنرا که این روزها در گوشه و کنار وب یافت میشود، به زبان ساده بررسی کنیم. بهبود کدهای موجود از static reflection در دو حالت کلی میتوان استفاده کرد. یا قرار است کتابخانهای را از صفر طراحی کنیم یا اینکه خیر؛ کتابخانهای موجود است و میخواهیم کیفیت آنرا بهبود ببخشیم. هدف اصلی هم «حذف رشتهها» و «اس ...