Java - 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.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
maven을 사용하지 않는 경우 this location 에서 제공되는 zip 파일에서 필요한 jar 파일을 찾을 수 있습니다. 이 자습서에 제공된 샘플 코드를 실행하려면 모든 jar 파일을 애플리케이션 lib 폴더에 포함합니다.
지정된 위치에서 이미지를 PDF에 삽입
drawImage() 메서드는 PDF 페이지의 지정된 위치에 지정된 너비와 높이로 이미지를 그리는 데 사용됩니다. 따라서 그리기 전에 미리 이미지 크기를 조정할 필요가 없습니다. 다음은 Java에서 새 PDF 문서에 이미지를 삽입하는 주요 단계입니다.
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfImage;
public class InsertImage {
public static void main(String[] args) {
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();
//Set page margins
doc.getPageSettings().setMargins(30);
//Add a page
PdfPageBase page = doc.getPages().add();
//Load an image from path
PdfImage image = PdfImage.fromFile("C:\\Users\\Administrator\\Desktop\\java-logo.jpg");
//Specify the image width and height in PDF
float width = image.getWidth() * 0.5f;
float height = image.getHeight() * 0.5f;
//Specify a position to draw image
double x = 0f;
float y = 0f;
//Draw image on page canvas
page.getCanvas().drawImage(image, x, y, width, height);
//Save the document
doc.saveToFile("output/InsertImage.pdf", FileFormat.PDF);
}
}
PDF의 이미지를 다른 이미지로 바꾸기
PDF에서 이미지를 바꾸려면 replaceImage() 메서드를 사용합니다. 이 방법은 교체된 새 이미지의 크기를 자동으로 조정하여 둘러싸인 다른 요소의 가독성에 영향을 미칩니다. 다음은 단계입니다.
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfImage;
public class ReplaceImage {
public static void main(String[] args) {
//Load the PDF file
PdfDocument doc = new PdfDocument();
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Java-Programming.pdf");
//Get the first page
PdfPageBase page = doc.getPages().get(0);
//Load an image
PdfImage image = PdfImage.fromFile("C:\\Users\\Administrator\\Desktop\\java-logo.png");
//Replace the first image in the first page with the loaded image
page.replaceImage(0, image);
//Save the file
doc.saveToFile("output/ReplaceImage.pdf", FileFormat.PDF);
}
}
PDF에서 지정된 이미지 제거
PDF 문서의 이미지는 deleteImage() 메서드를 사용하여 쉽게 제거할 수 있습니다. 여기 단계가 있습니다.
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
public class RemoveImage {
public static void main(String[] args) {
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();
//Load the sample PDF file
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Java-Programming.pdf");
//Get the specified page
PdfPageBase page = doc.getPages().get(0);
//Delete a particular image by its index
page.deleteImage(0);
//Save the file
doc.saveToFile("output/DeleteImage.pdf", FileFormat.PDF);
}
}
PDF에서 이미지 추출
PDF 페이지의 이미지는 extractImages() 메서드를 사용하여 추출할 수 있습니다. 다음은 Free Spire.PDF를 사용하여 PDF 문서에서 모든 이미지를 추출하는 단계입니다.
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ExtractImages {
public static void main(String[] args) throws IOException {
//Create a PdfDocument instance
PdfDocument doc = new PdfDocument();
//Load a PDF sample file
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Java-Programming.pdf");
//Declare an int variable
int index = 0;
//Loop through all pages
for (Object page : doc.getPages()) {
PdfPageBase pageBase = (PdfPageBase) page;
//Extract images from the given page
for (BufferedImage image : pageBase.extractImages()) {
//Specify the file path and name
File output = new File("C:\\Users\\Administrator\\Desktop\\ExtractedImages\\" + String.format("Image_%d.png", index++));
//Save images as .png files
ImageIO.write(image, "PNG", output);
}
}
}
}
Reference
이 문제에 관하여(Java - PDF에서 이미지를 삽입, 교체, 제거 또는 추출하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alexis92/java-how-to-insert-replace-remove-or-extract-images-in-pdf-144i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)