Java/PDF를 PNG 이미지로 변환

9136 단어
경우에 따라 이미지는 PDF 파일보다 더 유연하므로 PDF를 이미지로 변환하는 것은 일상 업무에서 직면할 수 있는 일반적인 작업입니다. 이 기사에서는 다음 두 가지 측면에서 프로그래밍 방식으로 PDF를 Java 응용 프로그램의 이미지로 변환하는 방법을 공유합니다.
  • 전체 PDF 문서를 여러 이미지로 변환
  • 특정 PDF 페이지를 이미지로 변환

  • 설치



    이 작업을 수행하려면 무료 Java 라이브러리가 필요하며 제품을 설치하는 방법에는 두 가지가 있습니다.
    방법 1: free library(Free Spire.PDF for Java)을 다운로드하고 압축을 풉니다. 그런 다음 Spire.Pdf.jar 파일을 종속성으로 프로젝트에 추가합니다.

    방법 2: 다음 구성을 pom.xml에 추가하여 maven 프로젝트에 jar 종속성을 직접 추가합니다.

    <repositories>
        <repository>
            <id>com.e-iceblue</id>
            <name>e-iceblue</name>
            <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>e-iceblue</groupId>
            <artifactId>spire.pdf.free</artifactId>
            <version>5.1.0</version>
        </dependency>
    </dependencies>
    


    3페이지가 포함된 입력 PDF 파일의 스크린샷.



    Java용 무료 Spire.PDF를 사용하면 PDF 파일의 모든 페이지 또는 특정 페이지를 이미지로 변환하고 PdfDocument.saveAsImage(int pageIndex, PdfImageType type, int dpiX, int dpiY) 메서드를 사용하여 이미지 Dpi를 설정할 수 있습니다.

    전체 PDF 문서를 여러 이미지로 변환




    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import com.spire.pdf.PdfDocument;
    import com.spire.pdf.graphics.PdfImageType;
    import javax.imageio.ImageIO;
    
    public class WholePDFToImages {
        public static void main(String[] args) throws IOException {
            //Create a PdfDocument instance
            PdfDocument pdf = new PdfDocument();
    
            //Load a PDF sample document
            pdf.loadFromFile("input.pdf");
    
            //Loop through every page
            for (int i = 0; i < pdf.getPages().getCount(); i++) {
                //Convert all pages to images and set the image Dpi
                BufferedImage image = pdf.saveAsImage(i, PdfImageType.Bitmap,500,500);
                //Save images to a specific folder as a .png files
                File file = new File("C:\\Users\\Administrator\\Desktop\\PDFToImages" + "/" + String.format(("ToImage-img-%d.png"), i));
                ImageIO.write(image, "PNG", file);
            }
            pdf.close();
        }
    }
    




    특정 PDF 페이지를 이미지로 변환




    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import com.spire.pdf.PdfDocument;
    import com.spire.pdf.graphics.PdfImageType;
    import javax.imageio.ImageIO;
    
    public class ParticularPDFToImage {
        public static void main(String[] args) throws IOException {
            //Create a PdfDocument instance
            PdfDocument pdf = new PdfDocument();
    
            //Load a PDF sample document
            pdf.loadFromFile("input.pdf");
    
            //Convert the third page to an image and set the image Dpi
            BufferedImage image= pdf.saveAsImage(2, PdfImageType.Bitmap,500,500);
    
            //Save the image to another file as a .png format 
            ImageIO.write(image, "PNG", new File("ToPNG.png"));
        }
    }
    


    좋은 웹페이지 즐겨찾기