چگونگی ادغام تصاویر به یک TIFF چند صفحه ای در .NET
هر بار که من نیاز به آرشیو و یا به اشتراک گذاشتن یک مجموعه بزرگ از اسکن ها، گیرنده ها یا داک، چند صفحه TIFF هنوز هم پادشاه است - به ویژه برای رعایت یا تحویل چیزها به یک دفتر مدرسه قدیمی.
چرا TIFF چند صفحه ای است؟
PDF ها همه جا هستند، اما بسیاری از سیستم های میراث یا جریان های کار اسناد تقاضا TIFFs (به ویژه برای سوابق پزشکی یا حقوقی).شما می خواهید یک فایل، تمام صفحات در داخل، بدون فوس.
راه حل Go-to
من تمام تصاویر منبع من (JPG ها، PNG ها و حتی BMPs قدیمی) را در یک پوشه قرار می دهم، این اسکریپت C# را اجرا می کنم و یک TIFF تمیز و چند صفحه ای را بیرون می آورم که هر بار کار می کند و در صورت لزوم می توانم آن را اتوماتیک یا سفارشی کنم.
پیش شرط
- Visual Studio 2019+ (یا فقط .NET CLI)
- .NET 6.0+ (یا .Net Framework 4.6.2+)
- Aspose.Imaging برای .NET (NuGet زندگی را آسان تر می کند)
- یک پوشه از تصاویر برای ادغام
PM> Install-Package Aspose.Imaging
در اینجا چگونه من ساخت چند صفحه TIFF
مرحله اول: تمام تصاویر را جمع آوری کنید
من فقط تمام عکس ها را از من گرفتم. ./input
پوشه :
string[] files = Directory.GetFiles("./input", "*.jpg"); // tweak pattern for PNG, BMP, etc.
مرحله 2: تصاویر را بارگذاری کنید و صادرات TIFF را تنظیم کنید
var images = files.Select(f => Image.Load(f)).ToList();
var tiffOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);
tiffOptions.Compression = Aspose.Imaging.FileFormats.Tiff.Enums.TiffCompressions.CcittFax4; // good for scans; use Lzw or None for color
مرحله 3: تمام صفحات را در یک TIFF ذخیره کنید
string outFile = "./output/merged_multipage.tiff";
using (var tiffImage = Aspose.Imaging.Image.Create(tiffOptions, images[0].Width, images[0].Height, false))
{
for (int i = 0; i < images.Count; i++)
{
var srcImg = images[i];
// For first page, just draw
if (i == 0)
{
var g = new Aspose.Imaging.Graphics(tiffImage);
g.DrawImage(srcImg, 0, 0, srcImg.Width, srcImg.Height);
}
else
{
// Add a new page for each image
tiffImage.AddPage(srcImg);
}
}
tiffImage.Save(outFile);
}
images.ForEach(img => img.Dispose());
مرحله چهارم: بررسی و حل مشکلات بهداشتی
- TIFF را در IrfanView، Photoshop یا حتی عکس های ویندوز باز کنید.اگر خوب به نظر می رسد، شما تنظیم شده اید.
- اگر صفحات سیاه و سفید را دریافت می کنید: فرمت های تصویر و عمق رنگ را بررسی کنید.
مرحله پنجم: بونس Tweaks
- Change
Compression
برایLzw
برای رنگ آمیزی یاNone
برای از دست دادن - برای کارهای بسته، کد بالا را در یک حلقه برای چندین پوشه قرار دهید.
- اگر دستگاه شما می تواند آن را مدیریت کند، به سادگی فایل های زیادی را در یک زمان باز نکنید!
چه چیزی گاهی اوقات من را بالا می برد
- ** سفارش فایل:** اطمینان حاصل کنید که فایل های شما به عنوان شما می خواهید آنها را به نظر می رسد نامیده و یا طبقه بندی شده است.
- فرمت های Weird: برخی از فرمتهای نادر نیاز به تبدیل به PNG / JPG اول
- **فایلهای بزرگ: **بزرگ یا صفحات با کیفیت بالا = حافظه بزرگ؛ پردازش در قطعات کوچکتر در صورت لزوم
راهنمای Pro
- من عکس های منبع خود را پشتیبان می گذارم – هنگامی که شما ادغام می کنید، نمی توانید آنها را به راحتی بخورید.
- برای انطباق، به فشارهای معمولی پایبند باشید (Lzw، Fax4)
- استفاده از نام روشن برای TIFF های خروجی خود (تاریخ، پروژه، و غیره)
FAQ
**Q: آیا می توانم رنگ ها و تصاویر خاکستری را ترکیب کنم؟**A: بله، اما خروجی را بررسی کنید – TIFF ها می توانند عجیب و غریب باشند اگر صفحات کاملا متفاوت باشند.
**Q: چگونه می توانم این را برای هر بار بارگذاری اتوماتیک کنم؟**A: این منطق را در یک کارگر یا برنامه ریزی شده قرار دهید – آسان با وظایف .NET یا خدمات ویندوز
**Q: در مورد OCR یا TIFF های قابل جستجو چیست؟**A: شما نیاز به یک مرحله OCR – Aspose.OCR یا مشابه – قبل و بعد از ادغام اگر شما می خواهید متن قابل جستجو
نتیجه گیری
با Aspose.Imaging برای .NET و یک اسکریپت ساده، شما می توانید از پوشه های ناخوشایند به TIFF های مطابقت پذیر، ذخیره شده و به اشتراک گذاشته شده در چند دقیقه بروید.این رویکرد من ساعت ها را نجات داده است - و من هر بار به آن اعتماد دارم.
See Aspose.Imaging برای .NET API برای بیشتر TIFF، باتچ و چند صفحه راهنمایی.