Cara Menggabungkan Gambar ke TIFF Multi-Page di .NET
Setiap kali saya perlu mengarkibkan atau berbagi sekumpulan besar scan, penerimaan, atau dok, TIFF multi-page masih menjadi raja – terutama untuk pematuhan atau menyerahkan barang-barang ke kantor sekolah tua.
Mengapa Multi-Page TIFF?
PDF ada di mana-mana, tetapi banyak sistem warisan atau aliran kerja dokumen Permintaan TIFFs (terutama untuk rekaman medis atau hukum). Anda ingin satu file, semua halaman di dalam, tidak ada fuss.
Untuk Go-to Solution
Saya melemparkan semua gambar sumber saya (JPG, PNG, bahkan BMPs lama) ke dalam folder, menjalankan skrip C# ini, dan keluar pops yang bersih, multi-page TIFF. berfungsi setiap kali – dan saya dapat mengautomatikkan atau menyesuaikannya jika perlu.
Persyaratan
- Visual Studio 2019+ (atau hanya .NET CLI)
- .NET 6.0+ (atau .Net Framework 4.6.2+)
- Aspose.Imaging untuk .NET (NuGet membuat hidup lebih mudah)
- Sebuah folder gambar untuk menggabungkan
PM> Install-Package Aspose.Imaging
Inilah Cara Membuat Multi-Page TIFF
Langkah 1: Mengumpulkan semua gambar
Saya hanya mengambil semua gambar dari saya ./input
Untuk folder:
string[] files = Directory.GetFiles("./input", "*.jpg"); // tweak pattern for PNG, BMP, etc.
Langkah 2: muat gambar dan mengatur ekspor 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
Langkah 3: Simpan semua halaman dalam satu 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());
Langkah 4: Pemeriksaan sanitasi dan penyelesaian masalah
- Buka TIFF di IrfanView, Photoshop, atau bahkan Windows Photos. jika itu terlihat baik, Anda telah ditetapkan.
- Jika Anda mendapatkan halaman hitam/putih: periksa format gambar dan kedalaman warna.
Langkah 5: Bonus Tweaks
- Change
Compression
UntukLzw
Untuk warna-warna atauNone
Untuk kekalahan - Untuk pekerjaan batch, masukkan kode di atas ke dalam loop untuk beberapa folder.
- Paralel jika mesin Anda dapat mengatasinya – hanya jangan buka terlalu banyak file sekaligus!
Apa yang mengganggu saya kadang-kadang
- Perintah file: Pastikan file Anda dinamakan atau disusun seperti yang Anda ingin mereka muncul
- Format Weird: Beberapa format langka membutuhkan konversi ke PNG/JPG terlebih dahulu
- *File besar: *Bahagian besar atau halaman tinggi = memori besar; proses dalam kepingan yang lebih kecil jika diperlukan
Pro Tips
- Saya menyimpan gambar sumber saya disimpan – sekali Anda bergabung, Anda tidak dapat “un-bake” mereka dengan mudah
- Untuk pematuhan, ikuti kompresi umum (Lzw, Fax4)
- Gunakan nama yang jelas untuk TIFF output Anda (data, proyek, dll.)
FAQ
**Q: Bolehkah saya menggabungkan warna dan gambar kelabu?**A: Ya, tapi periksa output – TIFF bisa aneh jika halaman sangat berbeda
**Q: Bagaimana saya mengautomatikkan ini untuk setiap upload?**A: Ambil logika ini ke dalam pengawas atau pekerjaan yang dijadwalkan – mudah dengan tugas .NET atau layanan Windows
**Q: Bagaimana dengan OCR atau TIFF yang dapat dicari?**A: Anda akan membutuhkan langkah OCR—Aspose.OCR atau serupa—sebelum/selepas penggabungan jika Anda membutuhkan teks yang dapat dicari
Kesimpulan
Dengan Aspose.Imaging untuk .NET dan skrip sederhana, Anda dapat pergi dari folder yang tidak menyenangkan ke TIFF yang mematuhi, dapat diarkibkan, dan dapat dibagi dalam beberapa menit. pendekatan ini telah menyelamatkan saya jam-jam – dan saya mempercayainya setiap kali.
See Aspose.Imaging untuk .NET API Referensi Untuk lebih banyak tips TIFF, batch, dan multi-page.