Làm thế nào để kết hợp hình ảnh vào một TIFF đa trang trong .NET
Bất cứ khi nào tôi cần lưu trữ hoặc chia sẻ một loạt các quét, hồ sơ, hoặc docs, nhiều trang TIFF vẫn là vua – đặc biệt là vì sự tuân thủ hoặc giao hàng cho một văn phòng cũ.
Tại sao nhiều trang TIFF?
PDF có ở khắp mọi nơi, nhưng rất nhiều hệ thống di sản hoặc dòng công việc tài liệu nhu cầu TIFFs (đặc biệt là cho các hồ sơ y tế hoặc pháp lý). Bạn muốn một tập tin, tất cả các trang bên trong, không có lỗ hổng.
Giải pháp Go-to
Tôi ném tất cả hình ảnh nguồn của tôi (JPG, PNG, thậm chí BMPs cũ) vào một thư mục, chạy kịch bản C# này, và phát ra một TIFF sạch, nhiều trang.
Nguyên tắc
- Visual Studio 2019+ (hoặc chỉ là .NET CLI)
- .NET 6.0+ (hoặc .Net Framework 4.6.2+)
- Aspose.Imaging cho .NET (NuGet làm cho cuộc sống dễ dàng hơn)
- Một thư mục hình ảnh để kết hợp
PM> Install-Package Aspose.Imaging
Đây là cách tôi xây dựng Multi-Page TIFF
Bước 1: Thu thập tất cả hình ảnh
Tôi chỉ chụp tất cả các hình ảnh của tôi ./input
Tài liệu:
string[] files = Directory.GetFiles("./input", "*.jpg"); // tweak pattern for PNG, BMP, etc.
Bước 2: tải hình ảnh và thiết lập TIFF Export
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
Bước 3: Lưu tất cả các trang trong một 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());
Bước 4: Kiểm tra sức khỏe và giải quyết vấn đề
- Mở TIFF trong IrfanView, Photoshop, hoặc thậm chí Windows Photos. Nếu nó trông tốt, bạn đã được thiết lập.
- Nếu bạn nhận được các trang màu đen / trắng: kiểm tra định dạng hình ảnh và độ sâu màu sắc. TIFF là picky về một số loại màu.
Bước 5: Bonus Tweaks
- Change
Compression
đểLzw
cho màu docs hoặcNone
cho mất - Đối với các công việc hàng loạt, nhúng mã ở trên trong một vòng tròn cho nhiều thư mục
- So sánh nếu máy của bạn có thể xử lý nó – chỉ cần không mở quá nhiều tệp cùng một lúc!
Điều gì khiến tôi thỉnh thoảng
- File order: Hãy chắc chắn rằng các tập tin của bạn được đặt tên hoặc sắp xếp theo cách bạn muốn chúng xuất hiện
- ** Định dạng Weird:** Một số định dạng hiếm cần chuyển đổi sang PNG/JPG đầu tiên
- *Dữ liệu lớn: *Bóng lớn hoặc các trang cao = bộ nhớ lớn; xử lý trong các mảnh nhỏ hơn nếu cần thiết
Pro Ưu đãi
- Tôi giữ lại hình ảnh nguồn của tôi được hỗ trợ – một khi bạn kết hợp, bạn không thể “một-bake” chúng dễ dàng
- Đối với sự tuân thủ, giữ cho các nén phổ biến (Lzw, Fax4)
- Sử dụng tên rõ ràng cho TIFF sản xuất của bạn (ngày, dự án, v.v.)
FAQ
**Q: Tôi có thể kết hợp hình ảnh màu và màu xám không?**A: Có, nhưng kiểm tra kết quả – TIFF có thể kỳ lạ nếu các trang khác nhau.
**Q: Làm thế nào tôi có thể tự động hóa điều này cho mỗi tải lên?**A: Nhập logic này vào một công việc theo dõi hoặc kế hoạch – dễ dàng với các nhiệm vụ .NET hoặc dịch vụ Windows
**Q: OCR hoặc TIFF có thể tìm kiếm là gì?**A: Bạn sẽ cần một bước OCR – Aspose.OCR hoặc tương tự – trước / sau khi kết hợp nếu bạn cần văn bản có thể tìm kiếm
Kết luận
Với Aspose.Imaging cho .NET và một kịch bản đơn giản, bạn có thể đi từ các thư mục sai lầm đến các TIFF phù hợp, lưu trữ và chia sẻ trong vài phút.
See Aspose.Imaging cho .NET API Reference Để biết thêm các mẹo TIFF, batch và nhiều trang.