Java를 사용하여 PNG를 PDF로 변환

Java를 사용하여 PNG를 PDF로 변환

PNGPDF는 현재 시점에서 가장 널리 사용되는 파일 형식입니다. PNG는 이미지 파일 형식인 반면 PDF(Portable Document Format)는 안정적이고 효율적인 데이터 표현을 제공합니다. 일부 시나리오에서는 이미지 파일 형식을 PDF로 변환해야 합니다. 따라서 이 블로그 게시물에서는 Java PDF API를 사용하여 PNG를 PDF로 변환하는 방법을 배웁니다. 우리는 코드 조각과 자바 애플리케이션에서 이 변환을 수행하는 단계를 작성할 것입니다.

이 기사에서는 다음 주제를 다룰 것입니다.

자바 PDF 라이브러리

Java PDF 라이브러리는 설치하기 쉽고 설치에 관한 문서를 제공합니다. 강력한 변환 및 조작 기능을 제공하는 엔터프라이즈급 API입니다. 그러나 다음 Maven 구성을 사용하여 JAR을 다운로드하거나 설치할 수 있습니다.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>21.11</version>
    <type>pom</type>
</dependency>

Java를 사용하여 PNG를 PDF로 변환

우리는 이 Java PDF 라이브러리에 의해 노출된 클래스와 메소드를 사용할 것입니다. Java로 몇 줄의 소스 코드를 작성하여 PNG에서 PDF로 변환할 수 있습니다.

아래에 언급된 단계와 코드 스니펫을 따를 수 있습니다.

  1. Document 클래스의 인스턴스를 인스턴스화합니다.
  2. DocumentBuilder 클래스의 개체를 만들어 문서에 내용을 간단하게 추가할 수 있습니다.
  3. createImageInputStream 메서드를 호출하여 입력 이미지 파일을 로드하고 ImageInputStream 객체에 할당합니다.
  4. 현재 등록된 모든 ImageReader를 포함하는 Iterator를 반환하고 ImageReader 클래스의 개체에 할당하는 getImageReaders 메서드를 호출합니다.
  5. 지정된 ImageInputStream에 사용할 입력 소스를 설정하는 setInput 메서드를 호출합니다.
  6. getNumImages 메서드를 호출하여 이미지의 프레임 수를 가져옵니다.
  7. 모든 프레임을 반복합니다.
  8. 활성 프레임을 선택하여 BufferedImage 클래스의 개체에 할당합니다.
  9. getPageSetup 메서드를 호출하여 현재 페이지 설정에 액세스하고 PageSetup 클래스의 개체에 할당합니다.
  10. setPageWidth 메소드를 호출하여 페이지 높이를 설정합니다.
  11. setPageHeight 메서드를 호출하여 페이지 너비를 설정합니다.
  12. insertImage 메소드를 호출하여 문서에 이미지를 삽입하고 페이지의 왼쪽 상단 모서리에 위치시킵니다.
  13. save 메소드를 호출하여 파일을 PDF 파일 형식으로 저장합니다.
public static void ConvertImageToPDF(String inputFileName, String outputFileName) throws Exception {

    // Document 클래스의 인스턴스화  
    Document doc = new Document();
    // 문서에 내용을 간단하게 추가할 수 있도록 DocumentBuilder 클래스의 개체를 만듭니다.  
    DocumentBuilder builder = new DocumentBuilder(doc);

    // 적절한 판독기를 사용하여 디스크에서 이미지를 로드합니다.
    // 로드할 수 있는 파일 형식은 기기에서 사용할 수 있는 이미지 판독기에 따라 다릅니다.
    // createImageInputStream 메서드를 호출하여 입력 이미지 파일을 로드하고 ImageInputStream의 객체에 할당합니다.
    ImageInputStream iis = ImageIO.createImageInputStream(new File(inputFileName));
    // 현재 등록된 모든 ImageReader를 포함하는 Iterator를 반환하고 ImageReader 클래스의 개체에 할당하는 getImageReaders 메서드를 호출합니다.
    ImageReader reader = ImageIO.getImageReaders(iis).next();
    // 주어진 ImageInputStream 또는 다른 Object에 사용할 입력 소스를 설정하는 setInput 메소드를 호출하십시오. 
    reader.setInput(iis, false);

    // getNumImages 메소드를 호출하여 이미지의 프레임 수를 가져옵니다.  
    int framesCount = reader.getNumImages(true);

    // 모든 프레임을 반복합니다.
    for (int frameIdx = 0; frameIdx < framesCount; frameIdx++) {
        // 다중 프레임 이미지의 경우 각 새 페이지 앞에 섹션 나누기를 삽입합니다.
        if (frameIdx != 0)
            builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);

        // 활성 프레임을 선택하고 BufferedImage 클래스의 객체에 할당합니다. 
        BufferedImage image = reader.read(frameIdx);

        // 페이지의 크기가 이미지의 크기와 같게 하고 싶습니다.
	      // 픽셀을 포인트로 변환하여 페이지를 실제 이미지 크기로 조정합니다.
	      // getPageSetup 메서드를 호출하여 현재 페이지 설정에 액세스하고 이를 PageSetup 클래스의 개체에 할당합니다.   
        PageSetup ps = builder.getPageSetup();
        // setPageWidth 메소드를 호출하여 페이지 높이 설정 
        ps.setPageWidth(ConvertUtil.pixelToPoint(image.getWidth()));
        // setPageHeight 메서드를 호출하여 페이지 너비를 설정합니다. 
        ps.setPageHeight(ConvertUtil.pixelToPoint(image.getHeight()));

        // 문서에 이미지를 삽입하고 insertImage 메소드를 호출하여 페이지의 왼쪽 상단 모서리에 위치시킵니다.
        builder.insertImage(
                image,
                RelativeHorizontalPosition.PAGE,
                0,
                RelativeVerticalPosition.PAGE,
                0,
                ps.getPageWidth(),
                ps.getPageHeight(),
                WrapType.NONE);
    }

    if (iis != null) {
        iis.close();
        reader.dispose();
    }
    // save 메소드를 호출하여 파일을 PDF 파일 형식으로 저장
    doc.save(outputFileName);
}

아래 이미지에서 출력을 볼 수 있습니다.

PNG에서 PDF로 변환

PNG에서 PDF로 변환

무료 라이선스 받기

무료 임시 라이선스를 받아 평가 제한을 넘어 API를 사용해 볼 수 있습니다.

합산

여기에서 이 블로그 게시물을 마칠 수 있습니다. 우리는 프로그래밍 방식으로 Java를 사용하여 PNG를 PDF로 변환하는 Java PDF 라이브러리의 구현을 시연했습니다. 이 라이브러리를 사용하면 몇 줄의 코드를 사용하여 PNG를 PDF로 변환할 수 있습니다. 또한 이 PNG에서 PDF로 변환 API의 문서를 방문할 수 있습니다. conholdate.com은 새롭고 흥미로운 주제에 대해 계속해서 글을 쓰고 있습니다. 따라서 최신 업데이트를 위해 연결 상태를 유지하십시오.

질문하기

포럼에서 질문이나 질문에 대해 알려주실 수 있습니다.

자주 묻는 질문

PNG를 PDF로 어떻게 변환합니까?

라이브러리를 사용하여 프로그래밍 방식으로 Java에서 PNG를 PDF로 변환할 수 있습니다. 사용법에 관한 포괄적인 문서를 제공합니다.

품질을 잃지 않고 PNG를 PDF로 저장하려면 어떻게 해야 합니까?

Java 라이브러리를 사용하여 PNG를 PDF 파일로 저장하는 방법을 배우려면 이 섹션으로 이동하십시오. save 메소드를 호출하여 PNG 파일을 PDF 파일로 저장할 수 있습니다.

또한보십시오