كيفية دمج الصور في TIFF متعدد الصفحات في .NET

كيفية دمج الصور في TIFF متعدد الصفحات في .NET

في كل مرة كنت بحاجة إلى أرشيف أو مشاركة مجموعة كبيرة من الماسح الضوئي أو المستندات أو الدوكتاتور ، لا يزال TIFF متعدد الصفحات ملكًا - وخاصة من أجل الامتثال أو إرسال الأشياء إلى مكتب المدرسة القديمة.

لماذا العديد من الصفحات TIFF؟

PDFs هي في كل مكان، ولكن الكثير من أنظمة التراث أو سير العمل الوثائق الطلب TIFFs (وخاصة للوثائق الطبية أو القانونية).أنت تريد ملف واحد، وجميع الصفحات داخل، لا مزعج.

الذهاب إلى الحل

سقطت جميع صور المصدر الخاصة بي (JPGs، 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

إليك كيف أقوم بإنشاء 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.
  • إذا حصلت على الصفحات السوداء/الأبيض: تحقق من تنسيقات الصورة وعمق الألوان.

الخطوة 5: بونس تويكس

  • Change Compression إلى Lzw لون الألوان أو None من أجل الخسارة
  • للحصول على وظائف المجموعة ، ضع الرمز أعلاه في قفص لعدة مجلدات
  • الموازنة إذا كان جهازك قادرًا على التعامل معها - فقط لا تفتح الكثير من الملفات في وقت واحد!

ما يجذبني في بعض الأحيان

  • أوامر الملفات: تأكد من أن ملفاتك تسمى أو ترتيب كما تريد أن تظهر
  • ** تنسيقات Weird:** بعض النماذج النادرة تحتاج إلى التحويل إلى PNG/JPG أولاً
  • الملفات الكبيرة: الشرائح الكبرى أو الصفحات العالية = ذاكرة كبيرة؛ المعالجة في قطع أصغر إذا لزم الأمر

نصائح Pro

  • أنا أحتفظ صور المصدر الخاصة بي مدعومة - بمجرد الانضمام ، لا يمكنك “التغليف” بسهولة
  • من أجل الامتثال، والالتزام بالضغوط الشائعة (Lzw، Fax4)
  • استخدم الاسم الواضح لـ TIFFs الناتجة (تاريخ، مشروع، إلخ)

FAQ

** س: هل يمكنني الجمع بين الألوان والصور الرمادية؟**ج: نعم، ولكن تحقق من النتيجة – يمكن أن تكون TIFFs غريبة إذا كانت الصفحات مختلفة بشكل جذري

**Q: كيف يمكنني تلقائي هذا لكل تحميل؟**A: ضع هذا المنطق في وظيفة مراقبة أو جدول أعمال - سهلة مع المهام .NET أو خدمات Windows

** س: ماذا عن OCR أو TIFFs قابلة للبحث؟**A: سوف تحتاج إلى خطوة OCR-Aspose.OCR أو مماثلة-قبل/بعد الاندماج إذا كنت بحاجة إلى نص قابل للبحث

استنتاجات

مع Aspose.Imaging ل .NET وسكريبت بسيطة، يمكنك الذهاب من المجلدات الخاطئة إلى TIFFs متوافقة، أرشيف، ومشاركة في دقائق.

See أرشيف الوسم : .NET API Reference للحصول على المزيد من النصائح TIFF و batch و multi-page.

 عربي