نام متد | شرح |
ApplyPersianYeKe | جایگزینی ی و ک عربی با معادل صحیح فارسی آنها |
CleanupExtraMarks | حذف علامتهای ! و ؟ اضافی و جایگزینی آنها با یک علامت |
ContainsFarsi | در صورتی که متن شامل عبارات فارسی شود مقدار True را بر میگرداند |
YeHeHalfSpace | اصلاح و جایگزینی فاصله بین "ه" و "ی" با نیم فاصله |
ToPersianContent | اعمال تمام موارد فوق جهت بهبود کیفیت متون فارسی |
Console.WriteLine("This goes to the https://www.dntips.ir website".Linkify() ); Console.WriteLine("This goes to the https://www.dntips.ir website".Linkify("_blank") ); Console.WriteLine("This goes to the www.dotnettips.info website".Linkify() ); Console.WriteLine("This goes to the dotnettips.info website".Linkify("_blank") ); Console.WriteLine("This goes to the dotnettips.info/page.html page".Linkify() ); Console.WriteLine("This goes to the https://www.dntips.ir/folder/page.html page".Linkify("_blank") );
string secret = "My Secret"; string encoded = secret.Encrypt("mykey");
string secret = "My Secret"; string decoded = encoded.Decrypt("mykey");
var persianContent = textBox1.ToPersianContent();
var persianContent = textBox1.ToPersianContent(true);
var numbers = "1392".GetPersianNumbers(); // return ۱۳۹۲
- میخواهم برنامهام را بر روی کامپیوتر مشتری بدون دردسر نصب کنم؛ با حداقل حجم و دردسر توزیع. به علاوه بدون نیاز به وصله پینه کردن اسمبلیهای تجاری دریافت شده.
پاسخ: PdfReport از چند اسمبلی دات نتی تشکیل شده است که نیاز به نصب خاصی ندارد. همچنین حجم فشرده شده آن نیز زیر 2 مگابایت است. بنابراین از جهت توزیع مشکل خاصی نخواهید داشت. همچنین کل این مجموعه سورس باز است و مشکلات متداول همراه با گزارش سازهای تجاری را به همراه ندارد.
- میخواهم فایل گزارش، به همراه برنامه و فایل exe آن و نه جدای از آن توزیع شود.
پاسخ: روش کار با PdfReport اصطلاحا code-first است. یعنی یک یا چند کلاس تهیه شده توسط شما، کار تهیه گزارش را انجام میدهند و تمام اینها کامپایل شده و به همراه فایل اجرایی یا اسمبلیهای خاصی که برای آن درنظر میگیرید، کامپایل و توزیع خواهند شد. همچنین با توجه به code-first بودن آن و عدم وابستگی به فناوری خاصی، این گزارشات در برنامههای وب و ویندوز نیز میتوانند بدون نیاز به تغییری در کدهای شما مورد استفاده قرار گیرند.
- برای کار با PdfReport از کجا باید شروع کرد؟
پاسخ: لطفا برچسب PdfReport را در سایت جاری دنبال نمائید. نحوه استفاده از قابلیتهای آن قدم به قدم توضیح داده شدهاند.
- میخواهم برای صرفه جویی در کاغذ چاپی، گزارش چند ستونهای را تهیه کنم.
پاسخ: لطفا مراجعه کنید به مثال ایجاد قالبهای سفارشی ستونها.
- میخواهم گزارشی را تولید کنم که حجم متن فیلدهای آن مشخص نیست. یکی ممکن است نصف صفحه باشد دیگری دو صفحه و یا بعضی تنها یک سطر.
پاسخ: در PdfReport ارتفاع هر سطر به صورت خودکار بر مبنای حجم وارد شده محاسبه و تنظیم میگردد. به عبارتی این تنظیم ثابت نیست و سبب حذف محتوای ارائه شده در آنها یا محو شدن ردیفهای دیگر نمیگردد.
- نیاز به گزارش سازی دارم که بدون مشکل با ORMها کار کند. برای مثال در حین کار با Entity framework مستقیما بتواند با اشیاء و لیستهای حاصل از آن کار کند.
پاسخ: یکی از انواع منابع داده تعریف شده در PdfReport جهت کار با ORMها طراحی شده است که مثالی از نحوه استفاده از آنرا در مثال EF Code first همراه با مجموعه مثالهای این کتابخانه میتوانید ملاحظه نمائید.
- آیا این کتابخانه میتواند از فایل سیستم (و نه صرفا بانک اطلاعاتی) هم تصاویر را دریافت و در گزارشات قرار دهد؟
پاسخ: بلی. لطفا به مثال ImageFilePath مراجعه نمائید.
- میخواهم یک گزارش ساز پویا در برنامه داشته باشم. فقط کوئری غیر مشخصی را به آن بدهم و حاصل آن یک گزارش باشد.
پاسخ: امکان تهیه گزارشهای پویا نیز در PdfReport پیش بینی شده است. توضیحات بیشتر همچنین این امکان در حین کار با ORMها نیز وجود دارد.
- میخواهم بدون استفاده از بانک اطلاعاتی نیز بتوانم گزارشی را تهیه کنم. برای مثال یک لیست جنریک تشکیل شده در حافظه دارم.
پاسخ: برای این منظور تنها کافی است از منبع داده صحیحی استفاده نمائید. برای اطلاعات بیشتر به مثال IList مراجعه کنید.
- میخواهم از بانکهای اطلاعاتی دیگری بجز SQL Server استفاده کنم.
پاسخ: میتوانید یک نمونه مثال استفاده از PdfReport را با بانک اطلاعاتی SQLite، در اینجا مشاهده کنید.
return new PdfReport().DocumentPreferences(doc => { // ... doc.Compression(new CompressionSettings { EnableCompression = true, EnableFullCompression = true }); })
• AccountingBalanceColumn/
چگونه باید از مقدار مانده ردیف قبلی در محاسبات ردیف جاری استفاده کرد (چیزی شبیه به گزارشات دفتر کل حسابداری).
• AcroFormTemplate/
چگونه میتوان از قالبهای سفارشی تهیه شده توسط Open office در PdfReport استفاده کرد. اگر در یک سلول قرار است قالب پیچیدهای را نمایش دهید، یکی از روشهای انجام کار استفاده از قالبهای AcroForm است.
• AdHocColumns/
چگونه تولید ستونهای گزارشات را پویا کنیم (بدون نیاز به تعریف جزئیات آنها). برای مثال اگر هربار کوئری متفاوتی را ارسال میکنید یا از منابع داده مختلفی با تعداد ستونهای متغیر در گزارش نهایی استفاده میشود، میتوانید با حذف قسمت تعاریف ستونها، این نوع گزارشات پویا را تهیه نمائید.
• AnnotationField/
نمایشی از قالب سلول سفارشی AnnotationField. Annotationها اشیایی خاص در فایلهای PDF هستند که امکان نوشتن توضیحات طولانی را فراهم میکنند و نهایتا به شکل یک آیکون در گزارش ظاهر خواهند شد.
• Barcodes/
مثالی در مورد نحوه تولید انواع بارکدهای مختلف مانند barcode 128 و barcode 39
• CalculatedFields/
چگونه بر اساس فیلدهای موجود یک گزارش، ستون محاسبه شده جدیدی را تولید کنیم. همچنین مواردی مانند فرمت کردن عدد نمایش داده شده و اضافه کردن جمع به یک ستون نیز در این گزارش لحاظ شده است.
• CharacterMap/
گزارشی شبیه به برنامه معروف character map ویندوز. در این گزارش نوع جدول به TableType.HorizontalStackPanel تنظیم شده است. به این ترتیب رکوردهای تولید شده به صورت افقی و پی در پی نمایش داده خواهند شد.
• ChartImage/
نحوه قرار دادن نمودارهای MS Chart را در گزارشات، در این مثال مشاهده خواهید کرد.
• CsvToPdf/
چگونه رکوردهای یک فایل CSV را تبدیل به فایل PDF کنیم؟ این مثال در حقیقت نحوه استفاده مستقیم از نتایج کوئریهای LINQ را بیان میکند.
• CustomCellTemplate/
چگونه یک قالب سلول سفارشی را تعریف کنیم. یک سری قالب پیش فرض مانند تصویر، متن و غیره در PdfReport به ازای هر سلول قابل تعریف است. اگر این موارد نیاز کاری شما را برآورده نمیکنند، میتوانید آنها را سفارشی سازی کنید.
• CustomHeaderFooter/
چگونه هدر و فوتر گزارشات را سفارشی سازی کنیم؟
• CustomPriceNumber/
چگونه یک قالب سلول سفارشی را جهت نمایش ویژه عدد مبلغ هر ردیف به شکل یک جدول پر شده از اعداد ایجاد کنیم.
• DataAnnotations/
چگونه تعاریف خواص ستونها را به کمک data annotations انجام داده و اینکار را سادهتر نمائیم. با استفاده از data annotations نیز میتوان قسمت تعاریف ستونها را کاملا حذف کرد.
• DbImage/
چگونه تصاویر ذخیره شده در بانک اطلاعاتی را در گزارشات نمایش دهیم.
• DigitalSignature/
چگونه امضای دیجیتال را به گزارشات PDF خود اضافه نمائیم.
• DuplicateColumns/
چگونه از ستونهایی هم نام، استفاده کنیم. برای مثال اگر از دو جدول کوئری میگیرید و دو فیلد به نامهای name اما با معانی و مقادیری متفاوت تعریف شدهاند، چگونه باید ایندکس آنها را جهت تمایز بهتر معرفی کرد.
• DynamicCompile/
چگونه سورس یک گزارش PdfReport را به صورت پویا از یک فایل متنی ساده خوانده و کامپایل کنیم.
• DynamicCrosstab/
چگونه یک گزارش Crosstab پویا را تعریف کنیم. برای مثال گزارشی که تعداد ستونهای آن نامشخص است و هر بار بر اساس بازه روزهای گزارشگیری تعیین میشود.
• EmailInMemoryPdf/
چگونه یک فایل Pdf تولید شده را به صورت خودکار به مقصدی خاص ایمیل کنیم.
• Events/
چگونه میتوان دقیقا پیش و پس از یک گزارش، تعاریف و عناصر دلخواه خود را اضافه کنیم؟
• ExcelToPdf/
چگونه یک فایل اکسل را تبدیل به گزارش PdfReport کنیم؟
• ExpensesCrosstab/
مثالی دیگر از نحوه تولید گزارشات Crosstab.
• ExtraHeadingCells/
چگونه گزارشاتی را تولید کنیم که هدر آنها بیش از یک ردیف است.
• Grouping/
نحوه گروه بندی اطلاعات را در این گزارش بررسی خواهیم کرد.
• HexDump/
یک گزارش ویژه از منبع دادهای anonymously typed.
• HtmlCellTemplate/
چگونه میتوان از Html جهت ساده سازی تعریف سلولهای پیچیده که بیش از یک مقدار را نمایش میدهند استفاده کرد.
• HtmlHeader/
چگونه میتوان از Html برای ساده سازی هدر گزارش استفاده کرد.
• HtmlHeaderRtl/
نسخه راست به چپ و فارسی مثال قبل.
• IList/
چگونه میتوان از لیستهای جنریک گزارش تهیه کرد.
• ImageFilePath/
چگونه میتوان از تصاویر ذخیره شده در فایل سیستم، گزارش گرفت.
• InjectCustomRows/
چگونه میتوان ردیفی سفارشی را در بین ردیفهای دریافت شده از بانک اطلاعاتی قرار داد.
• InlineProviders/
چگونه میتوان تعاریف سفارشی سلولها را در همان محل تعریف گزارش به نحوی سادهتر تعریف کرد.
• InMemory/
نحوه تولید فایلهای PDF درون حافظهای، مناسب جهت برنامههای وب ASP.NET (بدون نیاز به ذخیره فایل بر روی سرور)
• MailingLabel/
چگونه گزارشهای معروف برچسبهای چاپی را توسط PdfReport تولید کنیم.
• MasterDetails/
چگونه از روابط one-to-many بین دو جدول گزارش گیری کنیم؟
• MergePdfFiles/
چگونه از چند منبع داده مختلف استفاده کرده و نهایتا گزارشات حاصل را یکی و تبدیل به یک فایل PDF کنیم. برای نمونه استفاده از سه جدول مختلف با هدرها و سرستونهای متفاوت و سپس تولید یک گزارش یکپارچه از این سه، در قالب یک فایل نهایی. به علاوه در این مثال نحوه بازنویسی فوتر موجود نیز نمایش داده شده است (توسط WriterCustomizer آن).
• MonthCalendar/
چگونه در گزارشات، تقویم میلادی را نمایش دهیم.
• PdfA/
چگونه خروجی PDF حاصل را بر اساس استاندارد PdfA که مخصوص آرشیو و نگهداری است، تولید کنیم.
• PersianFontsListToPdf/
چگونه از لیست قلمهای نصب شده در سیستم گزارش Pdf تهیه کنیم.
• PersianMonthCalendar/
بررسی نحوه نمایش تقویم شمسی، در گزارشات.
• PersianRtl/
بررسی امکانات فارسی توکار کتابخانه PdfReport؛ مانند تهیه گزارشات راست به چپ، تاریخ شمسی، عدد به حروف و غیره.
• ProgressReport/
چگونه درصد پیشرفت یک عملیات را در سلولها نمایش دهیم. همچنین نحوه ایجاد گزارشات چند ستونی، برای صرفه جویی در میزان کاغذ مصرفی چاپ گزارشات را نیز در این گزارش مشاهده خواهید نمود.
• QuestionsAcroForm/
مثالی در مورد نحوه استفاده از قالبهای PDF تولید شده توسط Open office برای تولید برگه سؤالات امتحانی
• QuestionsForm/
مثالی در مورد نحوه طراحی برگه سؤالات امتحانی توسط سفارشی سازی سلولها در PdfReport
• SQLiteDataReader/
چگونه از یک بانک اطلاعاتی SQLite گزارش تهیه کنیم.
• StackedProperties/
چگونه در یک گزارش، در یک سلول بیش از یک فیلد را نمایش دهیم.
• Tax/
چگونه یک گزارش فاکتور فروش طراحی کنیم.
• WorkedHours/
چگونه گزارش حضور و غیاب پرسنل را تهیه کنیم.
• WrapGroupsInColumns/
چگونه گزارشات چندستونی را تولید کنیم.
• XmlToPdf/
چگونه دادههای یک فایل XML را تبدیل به گزارش کنیم.
• ZapfDingbatsSymbols/
چگونه از قلم مخصوص Symbols شرکت Adobe برای نمایش اشکال مختلف میتوان استفاده کرد.