Добавляйте изображения в PDF-документ через Java

Программная вставка изображений в PDF-документ с помощью Aspose.PDF для библиотеки Java

Добавьте изображение в PDF-документ с помощью инструмента Java

Чтобы добавить изображение в PDF, мы будем использовать Aspose.PDF for Java API, который представляет собой многофункциональный, мощный и простой в использовании API преобразования для платформы Java. Вы можете загрузить его последнюю версию непосредственно с Maven и установить ее в свой проект на базе Maven, добавив следующие конфигурации в pom.xml.

Repository

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java AP</name>
    <url>https://releases.aspose.com/java/repo/</url>
</repository>

Dependency

<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>version of aspose-pdf API</version>
</dependency>

Добавьте изображение в PDF с помощью Java


Вам понадобится Aspose.PDF for Java, чтобы попробовать код в своей среде.

  1. Создайте объект Document и откройте входной PDF-документ.
  2. Найдите страницу, на которую вы хотите добавить изображение.
  3. Добавьте изображение в коллекцию ресурсов страницы.
  4. Используйте оператор GSave для сохранения текущего графического состояния.
  5. Используйте оператор concatenateMatrix, чтобы указать место размещения изображения.
  6. Используйте оператор Do, чтобы нарисовать изображение на странице.
  7. Используйте оператор GRestore для сохранения обновленного графического состояния.
  8. Сохраните PDF-файл.

Добавить изображение в PDF-документ - Java

В этом примере кода показано, как добавить изображения на страницу 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());
}