Працюйте із зображеннями PDF за допомогою Java

Зображення широко використовуються для різних типів зображень і демонстрацій у файлах PDF. У цій статті ви дізнаєтеся, як програмно маніпулювати зображеннями у файлах PDF. Зокрема, у статті буде описано, як додавати, витягувати, видаляти або замінювати зображення у файлах PDF за допомогою Java.

Бібліотека Java для додавання зображень у PDF

Для додавання та обробки зображень у PDF ми будемо використовувати Aspose.PDF for Java. Це потужна бібліотека, яка надає вам широкий спектр функцій роботи з PDF-файлами. Бібліотека дозволяє легко працювати з текстом, анотаціями чи зображеннями у файлах PDF.

Ви можете завантажити 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>22.12</version>
</dependency>

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

Нижче наведено кроки, щоб додати зображення у файл PDF у Java.

  • Спочатку створіть екземпляр класу Document, щоб завантажити документ PDF.
  • Отримайте Сторінку, до якої потрібно додати зображення, за допомогою методу Document.getPages().getItem(int).
  • Завантажте файл зображення в об’єкт FileInputStream.
  • Додайте зображення до ресурсів сторінки за допомогою методу Page.getResources().getImages().add(FileInputStream).
  • Використовуйте оператори, щоб розмістити зображення на сторінці:
    1. Оператор GSave для збереження поточного графічного стану.
    2. Оператор ConcatenateMatrix, щоб вказати, де має бути розміщено зображення.
    3. Оператор Do, щоб намалювати зображення на сторінці.
    4. Оператор GRestore для збереження оновленого графічного стану.
  • Нарешті збережіть оновлений файл PDF за допомогою методу Document.save(string).

У наведеному нижче прикладі коду показано, як додати зображення до PDF-файлу на Java.

// Відкрийте документ
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();

Витягніть зображення з файлу PDF за допомогою Java

Нижче наведено кроки для отримання зображень із документа PDF за допомогою Java.

  • Створіть екземпляр класу Document, щоб завантажити документ PDF.
  • Витягніть потрібне зображення в об’єкт XImage за допомогою методу Document.getPages().getItem(int).getResources().getImages().getItem(int).
  • Ви також можете прокрутити колекцію зображень, щоб отримати та зберегти всі зображення.
  • Нарешті, збережіть видобуте зображення як файл за допомогою OutputStream.

У наступному прикладі коду показано, як видобувати зображення з файлів PDF за допомогою Java.

// Відкрийте документ
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();

Видалення зображень із файлу PDF за допомогою Java

Нижче наведено кроки для видалення зображення з PDF-файлу за допомогою Java.

У наведеному нижче прикладі коду показано, як видалити зображення в PDF за допомогою Java.

// Відкрийте документ
Document pdfDocument = new Document("input.pdf");

// Видалити певне зображення
pdfDocument.getPages().get_Item(1).getResources().getImages().delete(1);

// Збережіть оновлений файл PDF
pdfDocument.save("output.pdf");

Замініть зображення у файлі PDF за допомогою Java

Нижче наведено кроки для заміни зображення у файлі PDF за допомогою Java.

У наведеному нижче прикладі коду показано, як замінити зображення в PDF за допомогою Java.

// Відкрийте документ
Document pdfDocument = new Document("input.pdf");

// Замінити певне зображення
pdfDocument.getPages().get_Item(1).getResources().getImages().replace(1, new java.io.FileInputStream(new java.io.File("aspose.png")));

// Збережіть оновлений файл PDF
pdfDocument.save("output.pdf");

Безкоштовна бібліотека Java PDF для додавання зображень

Ви можете отримати безкоштовну тимчасову ліцензію і працювати із зображеннями PDF без будь-яких обмежень.

Дослідіть бібліотеку Java PDF

Ви можете ознайомитися з іншими функціями бібліотеки Java PDF за допомогою документації. У разі будь-яких питань ви можете зв’язатися з нами через наш форум.

Висновок

У цій статті ви дізналися, як маніпулювати зображеннями у файлах PDF за допомогою Java. У покроковому посібнику та зразках коду показано, як видобувати, додавати, видаляти та замінювати зображення у файлі PDF. Ви можете легко використовувати бібліотеку та надані зразки коду у своїх програмах Java.

Дивись також