Чтобы добавить изображение в PDF, мы будем использовать Aspose.PDF for Java API, который представляет собой многофункциональный, мощный и простой в использовании API преобразования для платформы Java. Вы можете загрузить его последнюю версию непосредственно с Maven и установить ее в свой проект на базе Maven, добавив следующие конфигурации в pom.xml.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java AP</name>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>version of aspose-pdf API</version>
</dependency>
Добавьте изображение в PDF с помощью Java
Вам понадобится Aspose.PDF for Java, чтобы попробовать код в своей среде.
- Создайте объект Document и откройте входной PDF-документ.
- Найдите страницу, на которую вы хотите добавить изображение.
- Добавьте изображение в коллекцию ресурсов страницы.
- Используйте оператор GSave для сохранения текущего графического состояния.
- Используйте оператор concatenateMatrix, чтобы указать место размещения изображения.
- Используйте оператор Do, чтобы нарисовать изображение на странице.
- Используйте оператор GRestore для сохранения обновленного графического состояния.
- Сохраните PDF-файл.
Добавить изображение в PDF-документ - Java
try {
Document pdfDocument = new Document(DATA_DIR.resolve("AddImage.pdf").toString());
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;
Page page = pdfDocument.getPages().get_Item(1);
FileInputStream imageStream = new FileInputStream(DATA_DIR.resolve("aspose-logo.jpg").toString());
page.getResources().getImages().add(imageStream);
page.getContents().add(new GSave());
Rectangle rectangle = new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[]{
rectangle.getURX() - rectangle.getLLX(), 0,
0, rectangle.getURY() - rectangle.getLLX(),
rectangle.getLLX(), rectangle.getLLY()});
page.getContents().add(new ConcatenateMatrix(matrix));
XImage ximage = page.getResources().getImages().get_Item(page.getResources().getImages().size());
page.getContents().add(new Do(ximage.getName()));
page.getContents().add(new GRestore());
pdfDocument.save(DATA_DIR.resolve("AddImage_out.pdf").toString());
pdfDocument.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}