Эта статья поможет узнать, как вставить изображение в PDF с помощью Java. В нем содержится подробная информация о конфигурации IDE, пошаговый процесс написания приложения и исполняемый пример кода для добавления изображения в PDF с помощью Java. Вы также изучите различные варианты настройки процесса рендеринга изображения в любом формате, например PNG, JPEG и т. д., и поместите изображение в нужное место на странице PDF.
Шаги, чтобы поместить изображение в PDF с помощью Java
- Установите среду для использования Aspose.PDF for Java для вставки изображения
- Загрузите исходный PDF-файл, получите доступ к первой page для добавления изображения и сохраните графическое состояние.
- Создайте поток изображения и добавьте его в ресурс коллекции изображений загруженного PDF-файла.
- Создайте экземпляр объекта Matrix, используя желаемую прямоугольную позицию для изображения.
- Определите параметры рисования изображения и нарисуйте изображение с помощью метода Do().
- Восстановите состояние графики и сохраните выходной PDF-файл перед закрытием потоков изображений и PDF-файлов.
Эти шаги объясняют как добавить изображение в PDF с помощью Java, где сначала ссылка на страницу получается из загруженного файла PDF, а затем создается поток изображения. Это изображение добавляется в коллекцию изображений выбранной страницы, а затем объявляется матрица преобразования с использованием позиционного прямоугольника для целевого изображения. В конце изображение обрабатывается с помощью метода Do(), и полученный PDF-файл сохраняется на диске.
Код для добавления фото в PDF с использованием Java
import com.aspose.pdf.*; | |
import com.aspose.pdf.operators.*; | |
public class AsposeTest { | |
public static void main(String[] args) throws Exception {//Main function to add image to a PDF using Java | |
// Instantiate the license | |
License lic = new License(); | |
lic.setLicense("Aspose.Total.lic"); | |
// Load the source PDF file | |
Document srcDocument = new Document("sample.pdf"); | |
// Get a reference to the target page | |
Page pdfPage = srcDocument.getPages().get_Item(1); | |
// Create stream for the image | |
java.io.FileInputStream streamForImage = new java.io.FileInputStream(new java.io.File("logo.png")); | |
// Add the stream of image to the collection of images in the selected page | |
pdfPage.getResources().getImages().add(streamForImage); | |
// Save the current state of the graphics for later use | |
pdfPage.getContents().add(new GSave()); | |
// Instantiate the Matrix object using the desired rectangular area | |
Rectangle rect = new Rectangle(50, 750, 100, 800); | |
Matrix matrix = new Matrix(new double[] { rect.getURX() - rect.getLLX(), 0, 0, | |
rect.getURY() - rect.getLLY(), rect.getLLX(), rect.getLLY() }); | |
// Define how image must be placed | |
pdfPage.getContents().add(new ConcatenateMatrix(matrix)); | |
XImage pdfXimage = pdfPage.getResources().getImages().get_Item(pdfPage.getResources().getImages().size()); | |
// Draw image using the Do operator | |
pdfPage.getContents().add(new Do(pdfXimage.getName())); | |
// Restore the graphics state | |
pdfPage.getContents().add(new GRestore()); | |
// Save the resultant PDF | |
srcDocument.save("updated_document.pdf"); | |
// Close image stream | |
streamForImage.close(); | |
// Close the PDF | |
srcDocument.close(); | |
System.out.println("Done"); | |
} | |
} |
Этот код демонстрирует процесс добавления изображения в PDF с помощью Java. Он использует класс Document для загрузки PDF, объект класса Page для хранения ссылки на целевую страницу PDF, объект FileInputStream для хранения целевого изображения, класс прямоугольника для описания положения изображения на странице, объект Matrix для определения рисование изображения и метод Do() для рендеринга изображения. Обратите внимание, что состояние графики сохраняется перед запуском этой операции и восстанавливается после ее завершения.
В этой статье мы стали свидетелями процесса добавления фотографии в PDF с помощью Java. Если вы хотите узнать, как добавить водяной знак в PDF-файл, обратитесь к статье как добавить водяной знак в PDF с помощью Java.