.NET에서 이미지를 멀티 페이지 TIFF로 결합하는 방법

.NET에서 이미지를 멀티 페이지 TIFF로 결합하는 방법

내가 스캔, 수신 또는 도크의 큰 팩을 아카이브하거나 공유 할 필요가있을 때마다, 멀티 페이지 TIFF는 여전히 왕입니다 - 특히 준수 또는 오래된 학교 사무실에 물건을 전달합니다.

왜 멀티 페이지 TIFF?

PDF는 어디에나 있지만 많은 유산 시스템이나 문서 작업 흐름이 있습니다. 수요 TIFFs (특히 의료 또는 법률 기록을 위해).당신은 하나의 파일, 내부의 모든 페이지를 원하지 않습니다.

나의 Go-to 솔루션

나는 내 모든 출처 이미지 (JPG, PNG, 심지어 오래된 BMPs)를 폴더에 던지고,이 C# 스크립트를 실행하고, 깨끗하고 멀티 페이지 TIFF를 출력합니다.

원칙

  • Visual Studio 2019+ (또는 단지 .NET CLI)
  • .NET 6.0+ (또는 4.6.2+의 네트워크 프레임 워크)
  • Aspose.Imaging for .NET (NuGet은 삶을 더 쉽게 만듭니다)
  • 결합하기 위한 이미지 폴더
PM> Install-Package Aspose.Imaging

이것이 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 Compression 에 대 한 Lzw 색상 도크 또는 None 손실을 위한
  • 배치 작업을 위해 위의 코드를 여러 폴더를위한 루프에 넣으십시오.
  • 당신의 기계가 그것을 처리 할 수 있다면 - 단지 너무 많은 파일을 한 번에 열지 마십시오!

무엇이 나를 때때로 괴롭히는가

  • 파일 주문: 파일이 표시되기를 원하는 방식으로 이름을 지정하거나 정렬되어 있는지 확인하십시오.
  • Weird 형식: 일부 드문 형식을 먼저 PNG/JPG로 변환해야 합니다.
  • 큰 파일: 큰 배치 또는 높은 레즈 페이지 = 큰 메모리; 필요한 경우 작은 조각으로 처리

프로 타이프

  • 나는 나의 출처 이미지를 저장합니다 - 당신이 합병하면, 당신은 쉽게 그들을 “무료"할 수 없습니다.
  • 준수를 위해, 일반 압축에 붙어 (Lzw, Fax4)
  • 출력 TIFF (데이트, 프로젝트 등)에 대한 명확한 이름을 사용하십시오.

FAQ

**Q: 색상과 그레이 스케일 이미지를 결합할 수 있습니까?**A: 예, 그러나 출력을 확인하십시오- 페이지가 근본적으로 다르다면 TIFF는 이상할 수 있습니다.

**Q: 각 업로드에 대해 이것을 자동화하는 방법은 무엇입니까?**A: 이 논리를 시청자 또는 일정 작업에 삽입하십시오. .NET 작업이나 Windows 서비스로 간단합니다.

**Q: OCR 또는 검색 가능한 TIFF는 어떻습니까?**A: 검색 가능한 텍스트가 필요한 경우 합병하기 전에/후에 OCR 단계(Aspose.OCR 또는 이와 유사)가 필요합니다.

결론

여러 페이지의 TIFF는 통증이 될 필요가 없습니다. .NET 및 간단한 스크립트를 위해 Aspose.Imaging을 사용하면 몇 분 만에 일치하고, 아카이브 할 수 있고, 공유 할 수도있는 TifF로 이동할 수 있습니다.이 접근 방식은 시간을 절약했습니다.

See .NET API 참조를 위한 Aspose.Imaging 더 많은 TIFF, 배치 및 멀티 페이지 팁을 위해.

 한국어