자바 - PNG를 PDF로 변환하는 방법
Spire.Pdf.jar를 종속성으로 추가
Maven 프로젝트에서 작업하는 경우 다음을 사용하여 pom.xml 파일에 종속성을 포함할 수 있습니다.
<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</artifactId>
<version>8.5.8</version>
</dependency>
</dependencies>
maven을 사용하지 않는 경우 this location 에서 제공되는 zip 파일에서 필요한 jar 파일을 찾을 수 있습니다. 이 자습서에 제공된 샘플 코드를 실행하려면 모든 jar 파일을 애플리케이션 lib 폴더에 포함합니다.
이미지 품질을 유지하면서 PNG 파일을 단일 PDF로 변환
이 부분에서는 이미지 품질을 압축하지 않고 각각 별도의 PDF 페이지로 전송되는 단일 PDF 문서에 여러 이미지를 결합하는 방법을 보여줍니다. 주요 단계는 다음과 같습니다.
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfImage;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ConvertPngToPdf {
public static void main(String[] args) throws IOException {
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();
//Set the margins to 0
doc.getPageSettings().setMargins(0);
//Creating a File object for directory
File directoryPath = new File("C:\\Users\\Administrator\\Desktop\\Images");
//Get the abstract paths of the image files in the folder
File filesList[] = directoryPath.listFiles();
//Loop through the images
for (int i = 0; i < filesList.length; i++) {
//Read an image to BufferedImage
BufferedImage bufferedImage = ImageIO.read(new FileInputStream(filesList[i].getAbsolutePath()));
//Create a PdfImage object
PdfImage pdfImage = PdfImage.fromImage(bufferedImage);
//Get the image width and height
int width = pdfImage.getWidth();
int height = pdfImage.getHeight();
//Add a page of the same size as the image
PdfPageBase page = doc.getPages().add(new Dimension(width, height));
//Draw image at (0, 0) of the page
page.getCanvas().drawImage(pdfImage, 0, 0, width, height);
}
//Save to file
doc.saveToFile("PngToPdf.pdf");
}
}
PNG 파일을 PDF 압축 이미지 품질로 변환
고품질 이미지를 PDF로 병합할 때 PDF 크기가 커지는 경향이 있습니다. 생성된 PDF 문서의 크기를 줄이려면 병합하는 동안 이미지 품질을 압축할 수 있습니다. 다음은 단계입니다.
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfImage;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ConvertPngToPdfCompressingQuality {
public static void main(String[] args) throws IOException {
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();
//Set the margins to 0
doc.getPageSettings().setMargins(0);
//Creating a File object for directory
File directoryPath = new File("C:\\Users\\Administrator\\Desktop\\Images");
//Get the abstract paths of the image files in the folder
File filesList[] = directoryPath.listFiles();
//Loop through the images
for (int i = 0; i < filesList.length; i++) {
//Read an image to BufferedImage
BufferedImage bufferedImage = ImageIO.read(new FileInputStream(filesList[i].getAbsolutePath()));
//Create a PdfImage object
PdfImage pdfImage = PdfImage.fromImage(bufferedImage);
//Get the image width and height
int width = pdfImage.getWidth();
int height = pdfImage.getHeight();
//Add a page of the same size as the image
PdfPageBase page = doc.getPages().add(new Dimension(width, height));
//Draw image at (0, 0) of the page
page.getCanvas().drawImage(pdfImage,30,0, 0, width, height);
}
//Save to file
doc.saveToFile("CompressingQuality.pdf");
}
}
Reference
이 문제에 관하여(자바 - PNG를 PDF로 변환하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alexis92/java-how-to-convert-png-to-pdf-29co텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)