Как да се сливат изображения в мулти-страница TIFF в .NET

Как да се сливат изображения в мулти-страница TIFF в .NET

Всеки път, когато имам нужда да архивирам или споделям голям набор от скани, записи или докове, многостранен TIFF все още е крал – особено за съответствие или предаване на неща на стар училищен офис. Ето как го правя с Aspose.Imaging за .NET.

Защо Multi-Page 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

Стъпка 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. Ако изглежда добре, сте зададени.
  • Ако получавате черни/бели страници: проверете формата на изображението и цветовите дълбочини.

Стъпка 5: Бонус Tweaks

  • Change Compression за Lzw за цветни докове или None За загуба
  • За работа в комплект, вградете кода по-горе в кръг за няколко папки
  • Паралелно, ако машината ви може да се справи с него – просто не отваряйте твърде много файлове наведнъж!

Какво ме кара понякога

  • ** Поръчка на файла:** Уверете се, че вашите файлове са наречени или сортирани така, както искате да се появят
  • Weird формати: Някои редки формати се нуждаят от конверсия към PNG/JPG първо
  • **Велики файлове: ** Големи пакети или страници с високи размери = голяма памет; обработка в по-малки части, ако е необходимо

Про типове

  • Аз поддържам моите източни изображения защитени – веднага щом се сливате, не можете лесно да ги „не печете“
  • За съответствие, придържайте се към общи компреси (Lzw, Fax4)
  • Използвайте ясно наименование за вашия изход TIFF (датум, проект и т.н.)

FAQ

Q: Мога ли да комбинирам цветове и грейскални изображения?**A: Да, но проверете резултата – TIFFs могат да бъдат странни, ако страниците са радикално различни

**Q: Как мога да автоматизирам това за всяко изтегляне?**Отговор: Вградете тази логика в часовник или планирана работа – лесна с .NET задачи или услуги на Windows

**Q: Какво е OCR или търсените TIFFs?**A: Ще ви е необходим OCR стъпка — Aspose.OCR или подобно — преди / след сливане, ако имате нужда от търсещ текст

заключение

С Aspose.Imaging за .NET и прост скрипт, можете да отидете от месни папки до съответни, архивиращи и споделящи TIFF в минути.

See Aspose.Imaging за .NET API референтност За повече TIFF, пакет и многострани съвети.

 Български