이미지는 PDF 파일에서 다양한 유형의 묘사 및 데모에 널리 사용됩니다. 이 기사에서는 프로그래밍 방식으로 PDF 파일의 이미지를 조작하는 방법을 배웁니다. 특히 이 기사에서는 Java를 사용하여 PDF 파일에서 이미지를 추가, 추출, 제거 또는 교체하는 방법을 다룹니다.
- PDF에 이미지를 추가하고 조작하는 Java API
- Java를 사용하여 PDF에 이미지 추가
- Java를 사용하여 PDF에서 이미지 추출
- Java를 사용하여 PDF에서 이미지 제거
- Java를 사용하여 PDF의 이미지 바꾸기
- 무료 라이선스 받기
PDF에 이미지를 추가하고 조작하는 Java API - 무료 다운로드
Aspose.PDF for Java는 광범위한 PDF 조작 기능을 제공하는 강력한 API입니다. API를 사용하면 PDF 파일의 텍스트, 주석 또는 이미지로 원활하게 작업할 수 있습니다. API의 JAR을 다운로드하거나 다음 Maven 구성을 사용하여 설치할 수 있습니다.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>21.2</version>
</dependency>
Java에서 PDF 파일에 이미지 추가
Java에서 PDF 파일에 이미지를 추가하는 단계는 다음과 같습니다.
- 먼저 Document 클래스의 인스턴스를 만들어 PDF 문서를 로드합니다.
- Document.getPages().get_Item(int) 메서드를 사용하여 이미지를 추가하려는 Page를 가져옵니다.
- 이미지 파일을 FileInputStream 객체에 로드합니다.
- Page.getResources().getImages().add(FileInputStream) 메서드를 사용하여 페이지의 리소스에 이미지를 추가합니다.
- 연산자를 사용하여 페이지에 이미지를 배치합니다.
- GSave 연산자를 사용하여 현재 그래픽 상태를 저장합니다.
- ConcatenateMatrix 연산자를 사용하여 이미지를 배치할 위치를 지정합니다.
- Do 연산자를 사용하여 페이지에 이미지를 그립니다.
- GRestore 연산자를 사용하여 업데이트된 그래픽 상태를 저장합니다.
- 마지막으로 Document.save(string) 메서드를 사용하여 업데이트된 PDF 파일을 저장합니다.
다음 코드 샘플은 Java에서 PDF 파일에 이미지를 추가하는 방법을 보여줍니다.
// 문서 열기
Document pdfDocument1 = new Document("input.pdf");
// 좌표 설정
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;
// 이미지를 추가할 페이지를 가져옵니다.
Page page = pdfDocument1.getPages().get_Item(1);
// 스트림에 이미지 로드
java.io.FileInputStream imageStream = new java.io.FileInputStream(new java.io.File("input_image1.jpg"));
// 페이지 리소스의 이미지 컬렉션에 이미지 추가
page.getResources().getImages().add(imageStream);
// GSave 연산자 사용: 이 연산자는 현재 그래픽 상태를 저장합니다.
page.getContents().add(new Operator.GSave());
// Rectangle 및 Matrix 객체 만들기
Rectangle rectangle = new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.getURX() - rectangle.getLLX(), 0, 0, rectangle.getURY() - rectangle.getLLY(), rectangle.getLLX(), rectangle.getLLY() });
// ConcatenateMatrix(행렬 연결) 연산자 사용: 이미지를 배치하는 방법을 정의합니다.
page.getContents().add(new Operator.ConcatenateMatrix(matrix));
XImage ximage = page.getResources().getImages().get_Item(page.getResources().getImages().size());
// Do 연산자 사용: 이 연산자는 이미지를 그립니다.
page.getContents().add(new Operator.Do(ximage.getName()));
// GRestore 연산자 사용: 이 연산자는 그래픽 상태를 복원합니다.
page.getContents().add(new Operator.GRestore());
// 새 PDF 저장
pdfDocument1.save("Updated_document.pdf");
// 이미지 스트림 닫기
imageStream.close();
Java를 사용하여 PDF 파일에서 이미지 추출
다음은 Java를 사용하여 PDF 문서에서 이미지를 추출하는 단계입니다.
- Document 클래스의 인스턴스를 만들어 PDF 문서를 로드합니다.
- Document.getPages().get_Item(int).getResources().getImages().get_Item(int) 메서드를 사용하여 원하는 이미지를 XImage 객체로 추출합니다.
- 이미지 컬렉션을 반복하여 모든 이미지를 추출하고 저장할 수도 있습니다.
- 마지막으로 OutputStream을 사용하여 추출된 이미지를 파일로 저장합니다.
다음 코드 샘플은 Java를 사용하여 PDF 파일에서 이미지를 추출하는 방법을 보여줍니다.
// 문서 열기
Document pdfDocument = new Document("input.pdf");
// 특정 이미지 추출
XImage xImage = pdfDocument.getPages().get_Item(1).getResources().getImages().get_Item(1);
// 출력 이미지를 저장할 스트림 객체 생성
java.io.OutputStream output = new java.io.FileOutputStream("output.jpg");
// 출력 이미지 저장
xImage.save(output);
// 스트림 닫기
output.close();
Java를 사용하여 PDF 파일에서 이미지 제거
다음은 Java를 사용하여 PDF 파일에서 이미지를 제거하는 단계입니다.
- PDF 파일을 Document 개체에 로드합니다.
- 다음 방법 중 하나를 사용하여 원하는 이미지를 삭제합니다.
- 삭제() to delete images from collection.
- 삭제(int 인덱스) to delete an image from the collection by index.
- 삭제(문자열 이름) to delete an image from the collection by name.
- 마지막으로 Document.save(string) 메서드를 사용하여 업데이트된 PDF 파일을 저장합니다.
다음 코드 샘플은 Java를 사용하여 PDF에서 이미지를 삭제하는 방법을 보여줍니다.
// 문서 열기
Document pdfDocument = new Document("input.pdf");
// 특정 이미지 삭제
pdfDocument.getPages().get_Item(1).getResources().getImages().delete(1);
// 업데이트된 PDF 파일 저장
pdfDocument.save("output.pdf");
Java를 사용하여 PDF 파일의 이미지 바꾸기
다음은 Java를 사용하여 PDF 파일의 이미지를 바꾸는 단계입니다.
- PDF 파일을 Document 개체에 로드합니다.
- 새 이미지를 FileInputStream 객체에 로드합니다.
- Document.getPages().get_Item(int).getResources().getImages().replace(int, FileInputStream) 메서드를 사용하여 인덱스를 지정하여 이미지를 교체합니다.
- 마지막으로 Document.save(string) 메서드를 사용하여 업데이트된 PDF 파일을 저장합니다.
다음 코드 샘플은 Java를 사용하여 PDF의 이미지를 바꾸는 방법을 보여줍니다.
// 문서 열기
Document pdfDocument = new Document("input.pdf");
// 특정 이미지 바꾸기
pdfDocument.getPages().get_Item(1).getResources().getImages().replace(1, new java.io.FileInputStream(new java.io.File("apose.png")));
// 업데이트된 PDF 파일 저장
pdfDocument.save("output.pdf");
PDF에 이미지를 추가하는 Java API - 무료 API 라이선스 받기
임시 라이선스 받기를 통해 Java용 Aspose.PDF를 무료로 사용해 볼 수 있습니다.
결론
이 기사에서는 Java를 사용하여 PDF 파일의 이미지를 조작하는 방법을 배웠습니다. 단계별 가이드 및 코드 샘플은 PDF 파일에서 이미지를 추출, 추가, 제거 및 교체하는 방법을 보여줍니다. 문서를 사용하여 Java용 Aspose.PDF의 다른 기능을 탐색할 수 있습니다. 질문이 있는 경우 포럼을 통해 문의할 수 있습니다.