디바이스 및 렌더링
디바이스 및 렌더링
Aspose.PDF FOSS for .NET은 PDF 페이지를 래스터 이미지로 렌더링하는 디바이스 클래스를 제공합니다. 각 디바이스는 특정 형식—TIFF, JPEG, PNG 또는 BMP—을 대상으로 하며 해상도 및 품질 매개변수를 허용합니다.
PNG로 렌더링
PngDevice은 PDF 페이지를 PNG 이미지로 변환합니다.
using var doc = Document.Open(pdfBytes);
var device = new PngDevice(new Resolution(300));
using var stream = File.Create("page1.png");
device.Process(doc.Pages[1], stream);JPEG로 렌더링
JpegDevice은 페이지를 JPEG로 변환하고 품질을 구성할 수 있습니다.
var device = new JpegDevice(new Resolution(150), 90); // 90% quality
using var stream = File.Create("page1.jpg");
device.Process(doc.Pages[1], stream);TIFF로 렌더링
TiffDevice 하나 이상의 페이지를 다중 페이지 TIFF 이미지로 변환합니다.TiffSettings 압축, 색 깊이 및 형태를 제어합니다.
var settings = new TiffSettings();
var device = new TiffDevice(new Resolution(200), settings);
using var stream = File.Create("document.tiff");
device.Process(doc, stream); // All pagesBMP로 렌더링
BmpDevice 페이지를 압축되지 않은 비트맵으로 변환합니다.
var device = new BmpDevice(new Resolution(300));
using var stream = File.Create("page1.bmp");
device.Process(doc.Pages[1], stream);해상도 제어
모든 장치는 DPI를 지정하는 Resolution 객체를 허용합니다.
var lowRes = new Resolution(72); // Screen quality
var midRes = new Resolution(150); // Print draft
var hiRes = new Resolution(300); // Print qualityTextDevice를 통한 텍스트 추출
TextDevice는 장치 처리 파이프라인을 사용하여 페이지에서 텍스트를 추출합니다.
var device = new TextDevice();
using var stream = new MemoryStream();
device.Process(doc.Pages[1], stream);
string text = System.Text.Encoding.UTF8.GetString(stream.ToArray());팁 및 모범 사례
- 인쇄 품질 출력을 위해 300 DPI를 사용하고 화면/웹 용도에는 72-150 DPI를 사용하십시오.
TiffDevice은(는) 한 번의 호출로 전체 문서를 처리할 수 있으며, 다른 장치는 한 번에 한 페이지씩 처리합니다.- JPEG 품질 값은 0-100 범위이며, 85-90은 품질과 파일 크기의 좋은 균형을 제공합니다.
- 배치 변환의 경우 페이지를 반복하고 각 페이지를 적절한 장치로 처리합니다.
- 처리 후 스트림을 해제하여 파일 핸들을 해제합니다.
일반적인 문제
| Issue | Cause | Fix |
|---|---|---|
| 이미지가 흐릿함 | 해상도가 너무 낮음 | Resolution 생성자에서 DPI를 증가시킵니다 |
| TIFF 파일이 너무 큼 | 압축되지 않았거나 고해상도 설정 | TiffSettings 압축을 구성합니다 |
| 출력 스트림이 비어 있음 | Process이 호출되지 않았거나 페이지 인덱스가 잘못됨 | 페이지가 존재하는지 확인하고 Process이 완료되는지 확인합니다 |
자주 묻는 질문
특정 페이지 범위를 TIFF로 렌더링할 수 있나요?
예. TiffDevice.Process에는 시작 및 종료 페이지 번호를 허용하는 오버로드가 있습니다.
TiffSettings가 지원하는 압축 유형은 무엇입니까?
LZW, CCITT3, CCITT4, RLE, None 및 기타 표준 TIFF 압축 유형.
출력 이미지 크기를 제어할 수 있나요?
예. Device 생성자는 해상도 외에도 너비와 높이 매개변수를 허용하거나 해상도 대신 사용할 수 있습니다.
API 참조 요약
| Class / Method | Description |
|---|---|
PngDevice | 페이지를 PNG 형식으로 렌더링 |
JpegDevice | 품질 제어와 함께 페이지를 JPEG로 렌더링 |
TiffDevice | 페이지들을 다중 페이지 TIFF로 렌더링 |
BmpDevice | 페이지를 BMP 형식으로 렌더링 |
ImageDevice | 모든 이미지 렌더링 장치의 기본 클래스 |
DocumentDevice | 전체 문서를 처리하는 장치의 기본 클래스 |
TextDevice | 장치 파이프라인을 통해 텍스트 추출 |
Resolution | 렌더링을 위한 DPI 지정 |
TiffSettings | TIFF 출력 구성(압축, 색 깊이) |