วิธีการรวมภาพเป็น TIFF มัลติหน้าใน .NET
ทุกครั้งที่ฉันต้องการจัดเก็บหรือแบ่งปันชุดขนาดใหญ่ของสแกนรายชื่อหรือเอกสารหลายหน้า TIFF ยังคงเป็นเจ้า - โดยเฉพาะอย่างยิ่งสําหรับการปฏิบัติตามหรือส่งรายการไปยังสํานักงานโรงเรียนเก่า นี่คือวิธีที่ผมทํากับ Aspose.Imaging สําหรับ .NET
ทําไม Multi-Page TIFF
PDFs มีทุกที่ แต่มีระบบพันธุกรรมจํานวนมากหรือกระบวนการทํางานของเอกสาร ความต้องการ TIFFs (โดยเฉพาะอย่างยิ่งสําหรับเอกสารทางการแพทย์หรือกฎหมาย) คุณต้องการไฟล์เดียวหน้าทั้งหมดภายในไม่มีรอยขีดข่วน
โซลูชั่น Go-to
ฉันวางภาพแหล่งที่มาทั้งหมดของฉัน (JPGs, PNGs และแม้แต่ 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 มัลติหน้า
ขั้นตอนที่ 1: การเก็บรวบรวมภาพทั้งหมด
ฉันเพียงแค่บันทึกภาพทั้งหมดจากฉัน ./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());
ขั้นตอนที่ 4: การตรวจสอบสุขภาพและการแก้ไขปัญหา
- เปิด TIFF ใน IrfanView, Photoshop หรือแม้กระทั่ง Windows Photos หากดูดีคุณจะตั้งค่า
- หากคุณได้รับหน้าสีดํา / สีขาว: ตรวจสอบรูปแบบภาพและความลึกของสี TIFF เป็น picky เกี่ยวกับบางประเภทสี
ขั้นตอน 5: โบนัส Tweaks
- Change
Compression
ไปยังLzw
สําหรับสี docs หรือNone
สําหรับการสูญเสีย - สําหรับงานแพทช์ใส่รหัสด้านบนในรูสําหรับโฟลเดอร์หลาย
- คู่มือถ้าเครื่องของคุณสามารถจัดการกับมัน - เพียงไม่เปิดไฟล์จํานวนมากในเวลาเดียวกัน!
สิ่งที่ทําให้ฉันขึ้นบางครั้ง
- คําสั่งซื้อไฟล์: ตรวจสอบให้แน่ใจว่าไฟล์ของคุณจะถูกชื่อหรือจัดอันดับตามที่คุณต้องการพวกเขาปรากฏ
- รูปแบบ Weird: บางรูปแบบที่หายากต้องแปลงเป็น PNG / JPG ก่อน
- **ไฟล์ขนาดใหญ่: ** บรรทัดขนาดใหญ่มากหรือหน้าที่มีความละเอียดสูง = หมายเลขที่ใหญ่; การประมวลผลในชิ้นส่วนขนาดเล็กถ้าจําเป็น
เคล็ดลับ
- ฉันรักษาภาพแหล่งที่มาของฉันบันทึก - เมื่อคุณเชื่อมคุณไม่สามารถ " Un-Bake" พวกเขาได้อย่างง่ายดาย
- สําหรับการปฏิบัติตามให้สอดคล้องกับการบีบอัดทั่วไป (Lzw, Fax4)
- ใช้ชื่อที่ชัดเจนสําหรับ TIFFs ของคุณ (วันที่โครงการ ฯลฯ )
FAQ
Q: ฉันสามารถผสมภาพสีและสีเทาได้หรือไม่A: ใช่ แต่ตรวจสอบผลลัพธ์ - TIFFs อาจแปลกถ้าหน้าต่างแตกต่างกันอย่างรุนแรง
Q: ฉันจะอัตโนมัติสิ่งนี้สําหรับแต่ละอัปโหลดหรือไม่ตอบ: ใส่โลโก้นี้ลงในงานชาร์จหรือการวางแผน - ง่ายกับงาน .NET หรือบริการ Windows
**Q: OCR หรือ TIFFs ที่สามารถค้นหาได้อย่างไร?**A: คุณจะต้องการขั้นตอน OCR—Aspose.OCR หรือคล้ายกัน—ก่อน / หลังจากผสมถ้าคุณต้องการข้อความที่สามารถค้นหาได้
ข้อสรุป
หลายหน้า TIFFs ไม่ต้องเป็นความเจ็บปวด ด้วย Aspose.Imaging สําหรับ .NET และสคริปต์ที่เรียบง่ายคุณสามารถไปจากโฟลเดอร์ที่ซื่อสัตย์ไปตามที่สามารถเก็บไว้และแบ่งปันได้ในนาที วิธีการนี้ช่วยให้ฉันประหยัดเวลาและฉันเชื่อถือได้ทุกครั้ง
See Aspose.Imaging สําหรับ .NET API Reference สําหรับคําแนะนําเพิ่มเติม TIFF, batch และหลายหน้า