Arash Abbasi
Arash Abbasi
خواندن ۲ دقیقه·۳ سال پیش

نکاتی در مورد کار با PDF در دات نت و برترین کتابخانه های آن


کتابخونه های کار با pdf به دو دسته کلی تقسیم میشن


دسته اول کتابخونه هایی هستند که باهاشون میشه فایل های PDF رو خوند، محتواش رو Extract یا Edit کرد و یا فایل جدید ساخت

از معروف ترین این کتابخونه ها میشه به ترتیب به موارد زیر اشاره کرد

iTextSharp

iTextSharp.LGPLv2.Core

iText7

PdfSharpCore


معروف ترین شون iTextSharp هست که فقط NET Framework Full. رو پشتیبانی میکنه اما وحید نصیری یه نسخه port شده ازش رو برای NET Core. درست کرده به نام iTextSharp.LGPLv2.Core

همچنین کتابخونه itext7 که توسط سازنده iTextSharp توسعه داده شده و به عنوان نسخه بعدی iTextSharp و با پشتیبانی از NET Core. اون رو توسعه داده و توصیه میکنه از itext7 استفاده کنین.


?دسته دوم کتابخونه هایی هستند که میتونن محتوای یه صفحه html (شامل المان ها و css ها و ...) رو به صورت PDF رندر کنن و خروجی PDF ازشون بگیرن

از جمله معروف ترین این کتابخونه ها میشه به ترتیب به موارد زیر اشاره کرد

DinkToPdf

itext7.pdfhtml

Rotativa.AspNetCore

Wkhtmltopdf.NetCore

طرز کار همشونم به این صورته که اینا معمولا wrapper ایی بر روی کتابخانه wkhtmltopdf هستند که کارش Render کردن خروجی html به pdf هست و پشت صحنه هم از موتور Qt WebKit استفاده میکنن که یک Browser Engine اپن سورس هست.


اکثر مواقع نیاز برنامه نویسا همین دسته دوم هست. معمولا میخوان از گزارشاتشون خروجی pdf بگیرن که دسته دوم گزینه راحت تری هست چرا که اینجا ما دیگه با یه صفحه html + css سرو کار داریم و خیلی راحت میتونیم هر فرم و جدولی رو که بخوایم طراحی کنیم و وقتی از خروجی html ایی اون مطمئن شدیم اون رو به pdf تبدیل کنیم

دسته اول معمولا کاربرد خاص تری دارند. مثلا اگه بخواین فایل pdf تون رو بخونین، محتواش رو پردازش یا ویرایش کنین یا مثلا ساخت صفحاتتون رو خیلی سفارشی سازی کنین باید از کتابخونه های دسته اول استفاده کنین

یه سری کتابخونه قدرتمند دیگه هم هستند مثل Aspose و Syncfusion ولی چون اونا پولی هستند و نسخه رایگانشون محدودیت داره تو لیست نیاوردمشون


پایان



منبع: ِDotNetZoom

دات نتpdfdotnetcore
توسعه دهنده نرم افزار ، مشتاق و آماده یادگیری مطالب جدید در حوزه های مرتبط
شاید از این پست‌ها خوشتان بیاید