PDFViewer 클래스
Java PdfViewerExamples 클래스는 Facades API를 통해 사용할 수 있는 기본 뷰어 작업 흐름을 보여줍니다.
모든 PDF 페이지 디코딩
원본 PDF의 모든 페이지를 이미지로 렌더링해야 하는 경우 이 작업 흐름을 사용하세요.
단계
PdfViewer인스턴스를 생성하고 구성하세요.bindPdf을 사용하여 소스 PDF를 바인딩하세요.decodeAllPages()를 호출하여 문서를BufferedImage배열로 렌더링하세요.- 디코딩된 각 페이지를 출력 이미지 파일에 저장하세요.
- 바인딩된 PDF 파일을 닫으세요.
Java 예제```java
public static void decodeAllPages(Path inputFile, Path outputDir) throws Exception { PdfViewer viewer = createViewer(); try { viewer.bindPdf(inputFile.toString()); BufferedImage[] pages = viewer.decodeAllPages(); for (int index = 0; index < pages.length; index++) { ImageIO.write(pages[index], “png”, outputDir.resolve(“decode_all_pages_” + (index + 1) + “.png”).toFile()); } } finally { viewer.closePdfFile(); } }
## 특정 PDF 페이지 디코딩
한 페이지만 이미지로 렌더링해야 하는 경우 이 워크플로를 사용하세요.
### 단계
1. `PdfViewer` 인스턴스를 생성하고 구성하세요.
2. 소스 PDF를 바인딩하세요.
3. 렌더링하려는 페이지에 대해 `decodePage()`를 호출하세요.
4. 디코딩된 페이지를 출력 이미지 파일에 저장하세요.
5. 뷰어를 닫으세요.
### Java 예제```java
public static void decodeSpecificPage(Path inputFile, Path outputFile) throws Exception {
PdfViewer viewer = createViewer();
try {
viewer.bindPdf(inputFile.toString());
ImageIO.write(viewer.decodePage(1), "png", outputFile.toFile());
} finally {
viewer.close();
}
}
PDF 메타데이터 검사
렌더링하거나 인쇄하기 전에 뷰어 관련 문서 정보가 필요한 경우 이 워크플로를 사용하세요.
단계
PdfViewer인스턴스를 생성하고 구성하세요.- 소스 PDF를 바인딩하세요.
- 페이지 수, 좌표 유형 및 렌더링 해상도를 읽으세요.
- 검색된 값을 사용하거나 인쇄하세요.
- 바인딩된 PDF 파일을 닫으세요.
Java 예제```java
public static void inspectPdfMetadata(Path inputFile) { PdfViewer viewer = createViewer(); try { viewer.bindPdf(inputFile.toString()); System.out.println(“Page count: " + viewer.getPageCount()); System.out.println(“Coordinate type: " + viewer.getCoordinateType()); System.out.println(“Resolution: " + viewer.getResolution()); } finally { viewer.closePdfFile(); } }
## 바운드 뷰어 설정 검사
PDF를 바인딩한 후 뷰어 동작을 확인하거나 조정해야 하는 경우 이 작업 과정을 사용하세요.
### 단계
1. `PdfViewer` 인스턴스를 생성하고 구성하세요.
2. 소스 PDF를 바인딩하세요.
3. 자동 크기 조정, 자동 회전, 인쇄 대화 상자 표시 등의 뷰어 옵션을 설정하세요.
4. 활성 뷰어 설정 및 페이지 수를 읽으세요.
5. 뷰어를 닫으세요.
### Java 예제```java
public static void inspectBoundViewerSettings(Path inputFile) {
PdfViewer viewer = createViewer();
try {
viewer.bindPdf(inputFile.toString());
viewer.setAutoResize(true);
viewer.setAutoRotate(true);
viewer.setPrintPageDialog(false);
System.out.println("Page count: " + viewer.getPageCount());
System.out.println("Print as image: " + viewer.getPrintAsImage());
System.out.println("Auto resize: " + viewer.getAutoResize());
System.out.println("Auto rotate: " + viewer.getAutoRotate());
} finally {
viewer.close();
}
}