Java에서 PDF 파일을 미리 보는 방법
이 문서에서는 Java 애플리케이션 내에서 IronPDF 사용하여 PDF 파일을 미리 보는 방법을 설명합니다.
IronPDF
IronPDF 는 고성능 Java 라이브러리로, 빠르고 정확한 작업을 제공하여 PDF 파일 읽기, 텍스트 및 이미지 추출 , 병합 및 분할 과 같은 PDF 관련 작업에 탁월한 선택입니다.
IronPDF 라이브러리를 사용하면 HTML, URL 및 문자열에서 픽셀 단위까지 정확한 렌더링으로 PDF를 생성 할 수 있습니다.
필수 조건
Java로 PDF 문서 뷰어를 만들려면 다음과 같은 사항을 설정해야 합니다.
- JDK(Java Development Kit)와 Swing UI 프레임워크가 설치되어 있어야 합니다.
- Eclipse, NetBeans 또는 IntelliJ IDEA와 같은 Java IDE(통합 개발 환경)
- Java용 IronPDF 라이브러리 ( IronPDF 웹사이트 에서 다운로드하여 프로젝트에 포함시킬 수 있습니다).
설정 중
- 원하는 IDE에서 새 Java 프로젝트를 생성합니다. 저는 IntelliJ IDEA를 사용하고 있으며 Maven을 이용하여 프로젝트를 생성했습니다.
-
아래에 표시된 종속성을 프로젝트의
pom.xml파일에 추가하여 IronPDF 라이브러리를 Maven을 사용하여 프로젝트에 추가하십시오:<dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>latest_version</version> </dependency><dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>latest_version</version> </dependency>XML -
필요한 임포트를 추가합니다.
import com.ironsoftware.ironpdf.PdfDocument; import javax.imageio.ImageIO; import javax.swing.*; import javax.swing.border.EmptyBorder; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List;import com.ironsoftware.ironpdf.PdfDocument; import javax.imageio.ImageIO; import javax.swing.*; import javax.swing.border.EmptyBorder; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List;JAVA
PDF 파일 형식 불러오기
다음 단계는 이 Java PDF 뷰어 애플리케이션에서 PdfDocument 클래스를 사용하여 PDF 파일을 로드하는 것입니다.
public class PDFPreview extends JFrame {
private List<String> imagePaths = new ArrayList<>();
private List<String> ConvertToImages() throws IOException {
// Load the PDF document from a file
PdfDocument pdfDocument = PdfDocument.fromFile(Paths.get("example.pdf"));
// Convert the PDF pages to a list of BufferedImages
List<BufferedImage> extractedImages = pdfDocument.toBufferedImages();
int i = 1;
// Iterate over the extracted images and save each to an image file
for (BufferedImage extractedImage : extractedImages) {
String fileName = "assets/images/" + i + ".png";
ImageIO.write(extractedImage, "PNG", new File(fileName));
// Store the file paths in the image paths list
imagePaths.add("assets/images/" + i + ".png");
i++;
}
return imagePaths;
}
}
public class PDFPreview extends JFrame {
private List<String> imagePaths = new ArrayList<>();
private List<String> ConvertToImages() throws IOException {
// Load the PDF document from a file
PdfDocument pdfDocument = PdfDocument.fromFile(Paths.get("example.pdf"));
// Convert the PDF pages to a list of BufferedImages
List<BufferedImage> extractedImages = pdfDocument.toBufferedImages();
int i = 1;
// Iterate over the extracted images and save each to an image file
for (BufferedImage extractedImage : extractedImages) {
String fileName = "assets/images/" + i + ".png";
ImageIO.write(extractedImage, "PNG", new File(fileName));
// Store the file paths in the image paths list
imagePaths.add("assets/images/" + i + ".png");
i++;
}
return imagePaths;
}
}
출력 PDF 파일
이미지로 변환됨:
PDF 파일을 이미지로 변환
PDF 뷰어 창 생성
이제 Java Swing 컴포넌트를 사용하여 변환된 이미지를 미리 보기 창에 표시할 수 있습니다.
public class PDFPreview extends JFrame {
private JPanel imagePanel;
private JScrollPane scrollPane;
public PDFPreview() {
try {
// Convert the PDF to images and store the image paths
imagePaths = this.ConvertToImages();
} catch (Exception e) {
e.printStackTrace();
}
// Create imagePanel
imagePanel = new JPanel();
imagePanel.setLayout(new BoxLayout(imagePanel, BoxLayout.Y_AXIS));
// Add images to the panel
for (String imagePath : imagePaths) {
ImageIcon imageIcon = new ImageIcon(imagePath);
JLabel imageLabel = new JLabel(imageIcon);
imageLabel.setBorder(new EmptyBorder(10, 10, 10, 10));
imagePanel.add(imageLabel);
}
// Create the scroll pane and add imagePanel to it
scrollPane = new JScrollPane(imagePanel);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
// Set up the frame
getContentPane().add(scrollPane);
setTitle("PDF Viewer");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
}
public class PDFPreview extends JFrame {
private JPanel imagePanel;
private JScrollPane scrollPane;
public PDFPreview() {
try {
// Convert the PDF to images and store the image paths
imagePaths = this.ConvertToImages();
} catch (Exception e) {
e.printStackTrace();
}
// Create imagePanel
imagePanel = new JPanel();
imagePanel.setLayout(new BoxLayout(imagePanel, BoxLayout.Y_AXIS));
// Add images to the panel
for (String imagePath : imagePaths) {
ImageIcon imageIcon = new ImageIcon(imagePath);
JLabel imageLabel = new JLabel(imageIcon);
imageLabel.setBorder(new EmptyBorder(10, 10, 10, 10));
imagePanel.add(imageLabel);
}
// Create the scroll pane and add imagePanel to it
scrollPane = new JScrollPane(imagePanel);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
// Set up the frame
getContentPane().add(scrollPane);
setTitle("PDF Viewer");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
}
메인 클래스의 생성자를 호출합니다.
마지막으로 다음 코드를 PDFPreview 클래스의 메인 메서드에 배치하십시오:
public static void main(String[] args) {
// Run the PDF viewer in the Event Dispatch Thread
SwingUtilities.invokeLater(
PDFPreview::new
);
}
public static void main(String[] args) {
// Run the PDF viewer in the Event Dispatch Thread
SwingUtilities.invokeLater(
PDFPreview::new
);
}
코드 설명
PDFPreview는 창 생성의 최상위 컨테이너인JFrame을 상속합니다.- 인스턴스 변수 선언:
imagePanel,scrollPane, 및imagePaths. ConvertToImages()는 PDF 파일example.pdf을 가져와 이미지를 시리즈로 변환합니다.PdfDocument는 PDF 파일을 로드하고 각 페이지를BufferedImage로 변환한 후, 각각을 PNG로 assets/images/ 디렉토리에 저장하고imagePaths에 경로를 추가합니다.PDFPreview()는 애플리케이션을 초기화합니다. 이는ConvertToImages()를 호출하여imagePaths을 채웁니다.imagePanel이 초기화되고 수직 상자 레이아웃으로 설정됩니다.imagePaths을 반복하며 각 이미지에 대해ImageIcon을 생성하고, 이를JLabel에 추가하고, 레이블을imagePanel에 추가합니다.- 소스 코드는
JScrollPane을 생성하고imagePanel을 뷰포트로 설정합니다. - 다음으로, 코드가 프레임의 내용 창에
scrollPane을 추가하고, 프레임의 제목을 설정하고, 기본 종료 작업을 설정하고, 구성 요소를 패킹하고, 화면 중앙에 프레임을 설정하고, 보이도록 만듭니다. main()는 프로그램의 진입점입니다. 이것은SwingUtilities.invokeLater()을 사용하여PDFPreview생성자를 호출하여 Swing 구성 요소가 GUI 작업 전용 스레드인 이벤트 디스패치 스레드에서 생성 및 수정되도록 보장합니다.
이제 프로그램을 실행하면 PDF 문서 파일 뷰어가 표시되고 로드된 PDF 문서가 나타납니다.
출력 PDF 파일
결론
이 글에서는 Java 기반 애플리케이션에서 IronPDF 사용하여 PDF 파일을 미리 보고, PDF 파일에 접근하여 표시하는 방법을 설명했습니다.
IronPDF 사용하면 Java 애플리케이션에 PDF 미리보기 기능을 쉽게 통합할 수 있습니다. Java용 IronPDF 사용에 대한 자세한 지침 및 예제는 이 예제 를 참조하십시오. Java PDF 리더 사용법에 대한 자세한 내용은 이 문서를 참조하여 PDF 파일을 읽어보세요 .
IronPDF 는 개발 목적으로 무료로 사용할 수 있습니다. 라이선스 세부 정보에 대해 자세히 알아보려면 제공된 라이선스 페이지를 방문하십시오. 상업적 용도를 위한 무료 체험판 도 제공됩니다.
자주 묻는 질문
Java 애플리케이션에서 PDF 파일을 미리 보려면 어떻게 해야 하나요?
IronPDF를 사용하여 PDF 페이지를 이미지로 변환한 다음 Java Swing 컴포넌트를 사용하여 이러한 이미지를 표시하면 Java 애플리케이션에서 PDF 파일을 미리 볼 수 있습니다. 이 과정은 PdfDocument 클래스를 사용하여 PDF를 로드하고, 페이지를 BufferedImage 로 변환한 다음, JPanel 과 JScrollPane 사용하여 표시하는 것으로 구성됩니다.
PDF 라이브러리를 내 Java 프로젝트에 통합하는 단계는 무엇인가요?
IronPDF를 Java 프로젝트에 통합하려면 프로젝트의 pom.xml 파일에 그룹 ID 'com.ironsoftware'와 아티팩트 ID 'ironpdf'를 사용하여 Maven 종속성으로 라이브러리를 추가하십시오. JDK와 Java IDE가 설치되어 있는지 확인하십시오.
Java를 사용하여 PDF 페이지를 이미지로 변환하는 방법은 무엇인가요?
IronPDF를 사용하면 PdfDocument 클래스를 이용하여 PDF 문서를 불러온 후 각 페이지를 BufferedImage 로 변환하여 PDF 페이지를 이미지로 만들 수 있습니다. 이렇게 변환된 이미지는 PNG 파일로 저장하여 추후 활용할 수 있습니다.
PDF 페이지를 이미지로 표시하려면 어떤 Java 구성 요소가 필요합니까?
Java에서 PDF 페이지를 이미지로 표시하려면 Java Swing 컴포넌트를 사용할 수 있습니다. 특히 이미지를 담을 JPanel 과 이미지를 스크롤할 수 있도록 하는 JScrollPane 을 사용하면 됩니다.
Java로 PDF 뷰어를 만들 때 이벤트 디스패치 스레드가 중요한 이유는 무엇입니까?
이벤트 디스패치 스레드(EDT)는 모든 Swing 컴포넌트가 GUI 작업을 위해 전용 스레드에서 생성되고 수정되도록 보장하여 Java 애플리케이션에서 발생할 수 있는 스레딩 문제를 방지하기 때문에 매우 중요합니다.
IronPDF for Java를 개발 목적으로 라이선스 없이 사용할 수 있나요?
네, IronPDF는 개발 단계에서 무료로 사용할 수 있습니다. 또한 상업적 용도로 사용할 수 있는 무료 평가판도 제공되므로 라이선스를 구매하기 전에 기능을 살펴볼 수 있습니다.
Java에서 IronPDF를 사용하는 데 필요한 추가 자료는 어디에서 찾을 수 있나요?
IronPDF 웹사이트에서 Java를 사용하여 IronPDF를 활용하는 데 필요한 추가 자료, 예제 및 튜토리얼을 확인할 수 있습니다. 이러한 자료에는 HTML에서 PDF를 생성하는 방법과 다양한 PDF 조작 기법에 대한 안내가 포함되어 있습니다.
PDF 페이지를 이미지로 변환하여 Java Swing에서 표시하는 과정은 무엇입니까?
IronPDF를 사용하여 PDF 페이지를 이미지로 변환하려면, PdfDocument 이용해 PDF를 불러오고, 각 페이지를 BufferedImage 로 변환한 다음, PNG 파일로 저장합니다. 그런 다음 Java Swing 애플리케이션에서 JPanel 과 JScrollPane 사용하여 이러한 이미지를 표시합니다.




