Wie Sie Bilder in eine Multi-Page TIFF in .NET integrieren
Jedes Mal, wenn ich eine große Reihe von Scans, Rezepten oder Doken archivieren oder teilen muss, ist TIFF mit mehreren Seiten immer noch König – vor allem für die Einhaltung oder die Lieferung von Gegenständen an ein älteschulisches Büro.
Warum Multi-Page TIFF?
PDFs sind überall, aber viele Erbe-Systeme oder Dokumentarbeitsflüsse Nachfrage TIFFs (insbesondere für medizinische oder juristische Aufzeichnungen). Sie wollen eine Datei, alle Seiten im Inneren, keine Fuss.
Meine Go-To Lösung
Ich lasse alle meine Quellbilder (JPGs, PNGs und sogar alte BMPs) in eine Folder, läuft dieses C#-Script aus und pops einen sauberen, mehrseiten TIFF. Es funktioniert jedes Mal – und ich kann es automatisieren oder anpassen, wenn nötig.
Voraussetzung
- Visual Studio 2019+ (oder nur die .NET CLI)
- .NET 6.0+ (oder .Net Framework 4.6.2+)
- Aspose.Imaging für .NET (NuGet macht das Leben einfacher)
- Eine Folie von Bildern zu fusionieren
PM> Install-Package Aspose.Imaging
Hier ist, wie ich die Multi-Page TIFF bauen
Schritt 1: Sammeln Sie alle Bilder
Ich ziehe nur alle Bilder von mir ./input
Die Folder:
string[] files = Directory.GetFiles("./input", "*.jpg"); // tweak pattern for PNG, BMP, etc.
Schritt 2: Laden Sie Bilder und Setup 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
Schritt 3: Speichern Sie alle Seiten in einem 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());
Schritt 4: Sanitätsprüfung und Problemlösung
- Öffnen Sie die TIFF in IrfanView, Photoshop oder sogar Windows Photos. Wenn es gut aussieht, werden Sie eingestellt.
- Wenn Sie schwarze/weiße Seiten erhalten: Schauen Sie sich die Bildformate und Farbtiefen an. TIFF ist picky über einige Farbearten.
Schritt 5: Bonus Tweaks
- Change
Compression
zuLzw
für Farbdock oderNone
Für die Verluste - Für Batch-Arbeiten, werfen Sie den oben genannten Code in einen Lauf für mehrere Ordner
- Parallelieren Sie, wenn Ihre Maschine es verwalten kann – öffnen Sie einfach nicht zu viele Dateien gleichzeitig!
Was mich manchmal erhöht
- File Order: Stellen Sie sicher, dass Ihre Dateien benannt oder sortiert werden, wie Sie sie erscheinen möchten
- Weird-Formate: Einige seltene Formate benötigen zuerst Konvertierung in PNG/JPG
- Große Dateien: Große Battchen oder High-Res-Seiten = große Speicher; Verarbeitung in kleineren Teilen, wenn nötig
Pro Tipps
- Ich halte meine Quellbilder backed up – wenn Sie miteinander fusionieren, können Sie sie nicht leicht „un-bake“
- Für die Einhaltung halten Sie sich an gemeinsame Kompressionen (Lzw, Fax4) ein.
- Verwenden Sie klare Namen für Ihre Ausgangs-TIFFs (Datum, Projekt usw.)
FAQ
**Q: Kann ich Farb- und Grayscale Bilder kombinieren?**A: Ja, aber überprüfen Sie die Ausgabe – TIFFs können seltsam sein, wenn Seiten radikal anders sind
**Q: Wie kann ich dies für jedes Upgrade automatisieren?**A: Gießen Sie diese Logik in eine Watch oder geplante Arbeit – einfach mit .NET-Taken oder Windows-Diensten
**Q: Was ist mit OCR oder Suchbare TIFFs?**A: Sie benötigen einen OCR-Schritt – Aspose.OCR oder ähnlich – vor/nach der Fusion, wenn Sie nach Suchbartext
Schlussfolgerungen
Mit Aspose.Imaging für .NET und ein einfaches Script können Sie von verrückten Ordnern zu vereinbaren, archivierbaren und teilen TIFFs in Minuten gehen.Dieser Ansatz hat mir Stunden gerettet – und ich vertraue es jedes Mal.
See Aspose.Imaging für .NET API Referenz für mehr TIFF, Batch und Multi-Page-Tipps.