如何将图像融入 .NET 中的多页 TIFF

如何将图像融入 .NET 中的多页 TIFF

每当我需要存档或分享大量的扫描、收件或文件时,多页 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 for .NET (NuGet 使生活更容易)
  • 一张图像文件夹合并
PM> Install-Package Aspose.Imaging

此分類上一篇: How I Build the Multi-page 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:卫生检查和解决问题

  • 在 IrfanView、Photoshop 或 Windows Photos 中打开 TIFF. 如果看起来很好,则设置了。
  • 如果你得到黑色/白色页面:检查图像格式和颜色深度。

步骤5:奖金推文

  • Change CompressionLzw 色彩多克或 None 为了失败
  • 对于套件工作,将上面的代码插入多个文件夹的旋转中
  • 如果您的机器可以处理它,就不要同时打开太多的文件!

有时候,我所困扰的

  • 文件订单: 确保您的文件被命名或分类为您想要它们显示的方式
  • Weird格式: 某些罕见格形式首先需要转换为PNG/JPG
  • 大文件: 大片或高版本的页面 = 大記憶體;如果需要,在小片中處理

Pro 提示

  • 我保留我的源图像备份 - 一旦你合并,你不能轻易“无包”它们
  • 要遵守,坚持常见压缩(Lzw、Fax4)。
  • 为您的输出 TIFF 使用清晰的名称(日期、项目等)

FAQ

Q:我可以结合颜色和灰色图像吗?答:是的,但检查输出 - 如果页面是根本不同的,TIFF可能会很奇怪

**Q:我如何在每次上传时自动化此内容?**答:将此逻辑插入观察员或计划工作 - 用 .NET 任务或 Windows 服务轻松

**Q:关于OCR或可搜索的TIFF怎么办?**答: 您需要一个 OCR 步骤 - Aspose.OCR 或类似 - 合并之前 / 之后,如果需要可搜索的文本

结论

多页 TIFF 不必是痛苦. 使用 Aspose.Imaging for .NET 和一个简单的脚本,你可以从混乱的文件夹到兼容的,存档和共享的 TifF 在几分钟内。

See Aspose.Imaging 为 .NET API 参考 更多 TIFF、Batch 和多页提示。

 中文