วิธีการรวมภาพเป็น TIFF มัลติหน้าใน .NET

วิธีการรวมภาพเป็น 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 และหลายหน้า

 แบบไทย