.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, 배치 및 멀티 페이지 팁을 위해.