عنوان:

‫چاپ برچسب‌های حمل و نقل در C#: وقتی هر شرکت حمل و نقل استاندارد خاص خود را دارد


نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۱/۲۹ ۲۲:۲۰
آدرس: www.dntips.ir
توسعه‌دهندگان اغلب با این چالش مواجه می‌شوند که وظایفی که در ابتدا ساده به نظر می‌رسند، به دلیل پیچیدگی‌های غیرمنتظره، زمان بیشتری را به خود اختصاص می‌دهند. در این مورد، چاپ برچسب‌های حمل و نقل از طریق APIهای مختلف شرکت‌های حمل و نقل، به دلیل فرمت‌های متفاوت PDF ارائه شده توسط هر شرکت، به یک مسئله چالش‌برانگیز تبدیل شده است. هدف، چاپ خودکار برچسب‌ها بر روی یک چاپگر واحد با فرمت استاندارد 104x152 میلی‌متر بدون دخالت دستی است. تلاش‌های اولیه برای استفاده از PrintingOptions در .NET به دلیل عدم تعریف PaperSize.A5 و وجود نداشتن ScaleType با شکست مواجه شد. سپس، کتابخانه iText7 به دلیل داشتن مجوز AGPL v3 که مستلزم انتشار کد پروژه در صورت استفاده تجاری است، مورد بررسی قرار گرفت. همچنین، PdfiumViewer به دلیل عدم سازگاری با .NET 8 قابل استفاده نبود. برای حل این مشکل، از ترکیب سه کتابخانه MIT-سازگار استفاده شد: PdfSharp 6.2.4 برای برش و مقیاس‌بندی PDF، UglyToad.PdfPig برای تجزیه و تحلیل محتوای صفحه و تعیین محدوده محتوا، و PDFtoPrinter برای ارسال PDF نهایی به چاپگر ویندوز. با این حال، استفاده از حاشیه‌های ثابت برای همه شرکت‌های حمل و نقل مشکل‌ساز بود، زیرا برخی از فرمت‌ها بدون حاشیه بودند. راه حل نهایی، استفاده از PdfPig برای تجزیه و تحلیل پویا و تعیین موقعیت واقعی محتوا در هر PDF بود. این روش امکان برش دقیق و مناسب برچسب‌ها را برای هر شرکت حمل و نقل فراهم می‌کند، بدون اینکه محتوا از دست برود. این رویکرد به توسعه‌دهندگان اجازه می‌دهد تا با فرمت‌های متنوع PDF مقابله کنند و فرآیند چاپ را به صورت خودکار و بدون نیاز به تنظیمات دستی انجام دهند.


مشاهده مطلب اصلی