Node.js에서 PDF를 이미지 파일로 변환하는 방법
IronPDF for Node.js는 단일 메서드 호출로 PDF 페이지를 이미지로 변환합니다. rasterizeToImageFiles 메서드는 출력 해상도와 페이지 선택을 직접 제어하여, 단일 페이지 또는 다중 페이지 PDF를 PNG, JPG, GIF, BMP 및 기타 형식으로 변환합니다.
메서드는 공급된 파일 확장자로부터 출력 형식을 자동으로 감지하므로, 형식 전환에 대한 구성 변경이 필요하지 않습니다. 확장자를 변경할 수 없는 환경에서는 명시적인 ImageType 열거형 값이 확장자 기반 감지 기능을 무시합니다. IronPDF Node.js 문서는 파일 경로, 바이트 버퍼 및 PDF로 변환된 HTML 문자열을 포함한 지원되는 입력 소스 전체 범위를 다룹니다.
빠른 시작: PDF를 PNG로 변환
- IronPDF 설치:
npm install @ironsoftware/ironpdf - 패키지에서
PdfDocument를 가져옵니다. PdfDocument.fromFile()을 사용하여 PDF를 불러오세요- 출력 경로를 지정하여
rasterizeToImageFiles()을 호출하십시오
//:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/quickstart.js
import { PdfDocument } from "@ironsoftware/ironpdf";
PdfDocument.fromFile("./sample.pdf").then((pdf) => {
pdf.rasterizeToImageFiles("./output.png");
});최소 워크플로우(5단계)
1. npm을 통해 Node.js에 IronPDF 설치 2. `PdfDocument` 클래스를 가져옵니다 3. `PdfDocument.fromFile()`을 사용하여 PDF 파일을 불러옵니다. 4. 원하는 출력 경로와 확장자를 지정하여 `rasterizeToImageFiles()`을 호출하십시오. 5. 다중 페이지 PDF의 경우, 메서드는 출력 파일 이름에 페이지 번호를 자동으로 추가합니다Node.js 용 IronPDF 어떻게 설치하나요?
npm install @ironsoftware/ironpdfnpm install @ironsoftware/ironpdfIronPDF의 Node.js 패키지를 npm에서 설치하여 PDF를 PNG, JPG, GIF, BMP 및 다른 이미지 형식으로 변환합니다.
프로덕션 환경에서 이미지를 PDF로 변환하기 전, 라이선스 키를 설정하세요. 이 패키지는 또한 모든 PDF 렌더링 작업을 처리하는 IronPDF 엔진 설치를 요구합니다. 변환 기능을 위해 반드시 설치되어야 합니다.
시스템 요구 사항은 무엇입니까?
Node.js 12 이상이 필요합니다. IronPDF Engine 이진 파일은 패키지가 처음 로드될 때 자동으로 다운로드되지만, 배포 환경이 아웃바운드 네트워크 액세스를 제한하는 경우 수동으로 설치할 수도 있습니다. @ironsoftware/ironpdf 패키지는 npm 레지스트리에서 사용할 수 있으며, 네이티브 모듈 컴파일 단계가 필요하지 않아 CI 파이프라인을 간소화합니다.
PDF 파일을 이미지 파일로 변환하는 방법은 무엇인가요?
rasterizeToImageFiles 메서드는 PDF 문서를 읽어들이고, 사용자가 지정한 출력 경로에 페이지당 하나의 이미지 파일을 작성합니다. 단일 페이지 PDF/A의 경우, 정확히 하나의 이미지를 생성합니다. 다중 페이지 PDF인 경우, IronPDF는 각 파일 이름에 페이지 번호 접미사를 자동으로 추가합니다.
아래 예제는 Learning Container에서 제공하는 샘플 PDF를 로드하여 PNG 파일로 변환합니다.
뷰어에서 열려 있는 샘플 PDF 파일. 이 파일과 다른 테스트 PDF를 Learning Container에서 다운로드하십시오.
//:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-to-png.js
import { PdfDocument } from "@ironsoftware/ironpdf";
// Load the PDF and convert it to a PNG image.
// The output path determines the format — change .png to .jpg for JPEG output.
PdfDocument.fromFile("./sample-pdf-file.pdf").then((pdf) => {
pdf.rasterizeToImageFiles("./images/sample-pdf-file.png");
return pdf;
}).catch((error) => {
console.error("Error converting PDF to image:", error);
});PdfDocument.fromFile은 PDF를 로드하고 PdfDocument 객체로 해결되는 Promise를 반환합니다. .then 콜백은 처리된 문서를 수신하고 대상 경로를 사용하여 rasterizeToImageFiles를 호출합니다. 경로에 있는 파일 확장자(여기서는 .png)는 IronPDF에 생성할 형식을 알려줍니다. .catch 블록은 모든 읽기 또는 변환 오류를 처리합니다.
위의 샘플 PDF로부터 생성된 PNG. IronPDF는 세 줄의 코드로 문서를 변환합니다.
이 메서드의 옵션에 대한 더 자세한 예제는 PDF에서 이미지로 코드 예제 페이지를 참조하십시오.
PDF를 JPEG 형식으로 변환하려면 어떻게 해야 하나요?
형식 선택은 자동으로 이루어집니다: rasterizeToImageFiles에 전달하는 확장자에 따라 출력 형식이 결정됩니다. PNG 대신 JPEG를 생성하려면 대상 경로의 확장자를 변경하십시오:
//:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-to-jpeg-extension.js
// Switch to JPEG by changing the file extension in the output path.
pdf.rasterizeToImageFiles("./images/pdf-to-jpeg.jpg");출력 파일 이름을 제어할 수 없는 경우(예: 고정된 명명 규칙을 따르는 자동화 파이프라인)에는 옵션 객체에 ImageType 값을 전달하여 확장자 기반 감지를 무시하십시오:
//:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-to-jpeg-imagetype.js
import { PdfDocument, ImageType } from "@ironsoftware/ironpdf";
// ImageType.JPG forces JPEG output regardless of the file extension.
const options = {
type: ImageType.JPG,
dpi: 300
};
PdfDocument.fromFile("./sample-pdf-file.pdf").then((pdf) => {
pdf.rasterizeToImageFiles("./images/output.png", options);
return pdf;
});options 객체의 type 속성은 파일 이름 확장자보다 우선합니다. 위의 예시에서, 대상 경로가 .png로 끝남에도 불구하고 rasterizeToImageFiles는 JPEG 파일을 생성합니다. GIF 및 BMP 출력에도 동일한 패턴이 적용됩니다.
DPI 설정이 출력 품질에 어떤 영향을 미치나요?
options 객체의 dpi 속성은 래스터화된 출력의 픽셀 밀도를 제어합니다. 높은 값은 더 많은 세부 정보를 담은 더 큰 파일을 생성합니다; 낮은 값은 선명도를 희생하여 파일 크기를 줄입니다.
dpi: 300 설정을 적용하면 고해상도 인쇄나 보관에 적합한 인쇄 품질의 이미지를 생성할 수 있습니다. (화면 표시 또는 썸네일 생성을 위해 dpi: 96을 사용하면 웹 사용에 적합한 선명도를 유지하면서 파일 크기를 줄일 수 있습니다.대부분의 아카이브나 미리보기 시나리오에서 150 DPI는 합리적인 기본값입니다 — 출력은 화면에서 읽기에 충분히 선명하고 파일 크기는 관리 가능한 수준으로 유지됩니다. 변환 후 인쇄되거나 OCR 처리가 될 콘텐츠의 경우, 300 DPI 이상이 권장됩니다.
여러 페이지의 PDF를 이미지로 변환하려면 어떻게 해야 하나요?
페이지가 여러 개인 문서의 경우, rasterizeToImageFiles을 사용하면 페이지당 하나의 이미지가 생성됩니다. IronPDF는 추가 코드 없이 출력을 잘 정리할 수 있도록 각 출력 파일 이름에 0 기반 페이지 인덱스를 추가합니다.
두 페이지 샘플 PDF. IronPDF는 변환 중 페이지마다 하나의 이미지 파일을 생성합니다.
//:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-multipage.js
import { PdfDocument } from "@ironsoftware/ironpdf";
// Each page of the PDF becomes a separate image file.
// Output filenames: multipage-pdf-page_1.png, multipage-pdf-page_2.png, etc.
PdfDocument.fromFile("./multipage-pdf.pdf").then((pdf) => {
pdf.rasterizeToImageFiles("./images/multipage-pdf/multipage-pdf-page.png");
});
위의 두 페이지 PDF로부터 생성된 두 PNG 파일. IronPDF는 각 출력 파일에 페이지 번호를 붙입니다.
이 자동 페이지 분할 동작은 지원되는 모든 이미지 형식에서 작동합니다. 다음 섹션의 fromPages 옵션을 함께 사용하면 대용량 문서에서 특정 페이지만 변환할 수 있습니다. 반대 방향으로 작업하기 위해서는, 이미지를 PDF로 변환하는 예제를 참조하십시오. 여러 이미지 파일을 단일 PDF 문서로 결합하는 방법을 보여줍니다.
출력 파일 이름은 어떻게 구조화되어 있나요?
파일 이름 패턴은 파일 확장자 앞에 1 기반 페이지 번호가 추가됩니다. 출력 경로가 ./images/report-page.png인 경우, 3페이지 분량의 PDF는 report-page_1.png, report-page_2.png, report-page_3.png로 생성됩니다. rasterizeToImageFiles를 호출하기 전에 출력 디렉터리가 반드시 존재해야 합니다. 이 메서드는 없는 디렉터리를 자동으로 생성하지 않습니다.
rasterizeToImageFiles를 호출하기 전에 출력 디렉터리를 생성하십시오. 대상 디렉터리가 존재하지 않으면 이 메서드는 오류를 발생시킵니다. Node.js의 fs.mkdirSync('./images/output', { recursive: true })를 사용하여 미리 생성하십시오.특정 페이지만 변환하려면 어떻게 해야 하나요?
options 객체의 fromPages 속성은 0을 기준으로 하는 페이지 인덱스 배열을 받아들입니다. 지정된 페이지만 래스터화됩니다; 나머지는 모두 건너뜁니다. 대규모 PDF에서 일부 페이지만 필요한 경우 유용합니다 — 예를 들어 문서 미리보기를 위한 표지와 섹션 시작 페이지를 추출할 때. 변환 전에 개별 페이지를 처리해야 하는 경우, PdfDocument에 대한 Node.js API 레퍼런스를 통해 추가적인 페이지 수준 작업에 대해 확인할 수 있습니다.
//:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-selective-pages.js
import { PdfDocument, ImageType } from "@ironsoftware/ironpdf";
// Convert only pages 1, 4, 6, and 9 (zero-indexed: 0, 3, 5, 8) to BMP.
const options = {
type: ImageType.BMP,
fromPages: [0, 3, 5, 8],
dpi: 150
};
PdfDocument.fromFile("./sample-pdf-with-images.pdf").then((pdf) => {
pdf.rasterizeToImageFiles(
"./images/multipage-selective-pdf/multipage-pdf-page.bmp",
options
);
}).catch((error) => {
console.error("Failed to convert pages:", error);
});
IronPDF는 fromPages 배열에 지정된 4페이지만 래스터화했습니다. 다른 페이지는 처리되지 않았습니다.
fromPages의 페이지 인덱스는 0부터 시작하므로, [0, 3, 5, 8]는 첫 번째, 네 번째, 여섯 번째, 아홉 번째 페이지를 대상으로 합니다. DPI 값인 150은 아카이브 또는 미리보기 사용 사례에 알맞은 출력 품질과 파일 크기를 균형있게 유지합니다. 선택적 변환은 지원되는 모든 이미지 유형과 호환됩니다.
0 기반과 1 기반 페이지 번호 사이의 차이는 무엇인가요?
fromPages은 JavaScript의 표준 배열 규칙에 맞춰 0을 기준으로 인덱싱합니다. 문서의 1쪽은 인덱스 0에, 2쪽은 인덱스 1에 해당하며, 이 순서가 계속 이어집니다. 이는 PDF 뷰어에 표시되는 1 기반 페이지 번호와 다릅니다. 페이지 번호를 fromPages 인덱스로 변환할 때는 각 페이지 번호에서 1을 빼야 합니다.
pdf.pageCount()를 사용하여 페이지 수를 확인한 후, [pdf.pageCount() - 1]를 fromPages 값으로 사용하십시오.PDF를 이미지로 변환하기 위한 다음 단계는 무엇인가요?
IronPDF의 rasterizeToImageFiles 메서드는 일관된 API를 통해 형식 선택, 다중 페이지 분할 및 선택적 페이지 변환을 처리합니다. 옵션 객체는 형식 재정의, DPI 제어 및 페이지 필터링을 위한 단일 확장 포인트입니다.
더 자세한 내용은 IronPDF for Node.js API 레퍼런스 문서에서 rasterizeToImageFiles 및 PdfDocument 클래스에서 사용할 수 있는 모든 매개변수를 확인할 수 있습니다. PDF to Images 코드 예제에서는 추가 구성과 함께 rasterizeToImageFiles이 사용된 것을 보여줍니다. 반대 방향으로 작업하려면, 이미지를 PDF 파일로 변환하거나 다중 프레임 TIFF 파일을 PDF로 변환을 참조하십시오.
IronPDF for Node.js의 무료 체험을 시작하여 독자적인 프로젝트에서 PDF-이미지 변환을 테스트하십시오. 라이선스 옵션 보기를 통해 팀에 맞는 플랜을 찾으십시오.
IronPDF로 무엇을 할 수 있는지 준비되셨습니까? 전체 Node.js 튜토리얼을 여기서 확인하세요: Node.js에서 HTML을 PDF로 변환
자주 묻는 질문
Node.js에서 PDF 파일을 이미지로 변환하는 방법은 무엇인가요?
IronPDF의 rasterizeToImageFiles 메서드를 사용하세요. npm install @ironsoftware/ironpdf 명령어로 패키지를 설치하고, PdfDocument.fromFile()을 사용하여 PDF를 로드한 후, 출력 경로와 함께 rasterizeToImageFiles()를 호출하세요. 파일 확장자가 자동으로 출력 형식을 결정합니다.
rasterizeToImageFiles는 어떤 이미지 포맷을 지원하나요?
IronPDF는 PNG, JPG, GIF, BMP 출력을 지원합니다. 형식은 출력 경로의 파일 확장자로부터 감지됩니다. 이를 재정의하려면 옵션 객체에 ImageType 열거형 값을 전달하십시오. 예를 들어, { type: ImageType.JPG }는 파일 이름 확장자와 관계없이 JPEG 출력을 강제합니다.
PDF의 특정 페이지만 이미지를 변환하려면 어떻게 해야 하나요?
옵션 객체에서 fromPages 배열을 전달하세요. 이 배열은 0부터 시작하는 페이지 인덱스를 허용하며, 따라서 fromPages: [0, 2, 4]는 첫 번째, 세 번째, 다섯 번째 페이지를 변환합니다. 배열에 나열되지 않은 페이지는 건너뜁니다.
PDF를 이미지로 변환할 때 어떤 DPI를 사용해야 하나요?
옵션 객체에서 dpi 속성을 설정하십시오. 화면 표시 및 썸네일에는 dpi: 96을 사용하고, 아카이브 및 미리보기 용도에는 dpi: 150을 사용하며, 인쇄 품질의 출력이나 변환 후 OCR 처리가 될 컨텐츠에는 dpi: 300을 사용하십시오.
Node.js에서 IronPDF를 설치할 때 필요한 요구 사항은 무엇인가요?
Node.js 12 이상이 필요합니다. 패키지는 npm install @ironsoftware/ironpdf를 사용하여 설치하세요. IronPDF 엔진 바이너리는 처음 사용할 때 자동으로 다운로드되어 모든 PDF 렌더링을 처리합니다. 프로덕션 사용을 위해 라이선스 키를 설정하여 출력물에서 워터마크를 제거하세요.
다중 페이지 PDF의 출력 파일 이름은 어떻게 구조화되나요?
IronPDF는 파일 확장자 앞에 1부터 시작하는 페이지 번호를 추가합니다. 출력 경로가 report-page.png인 경우, 세 페이지 PDF는 report-page_1.png, report-page_2.png, report-page_3.png을 생성합니다. 메서드를 호출하기 전에 출력 디렉터리가 존재해야 합니다.
Node.js에서 PDF를 이미지로 변환하는 작업이 비동기식인가요?
네. PdfDocument.fromFile()과 rasterizeToImageFiles() 모두 Promises를 반환합니다. 성공 경로에는 .then()을 체인하고 변환 오류를 처리하기 위해 .catch()를 사용하세요. 이 메서드들과 함께 async/await 구문을 사용할 수도 있습니다.





