Учебники

iText — установка положения изображения

В этой главе мы увидим, как установить положение изображения в документе PDF с помощью библиотеки iText.

Установка положения изображения

Вы можете создать пустой PDF-документ, создав экземпляр класса Document . При создании экземпляра этого класса вам необходимо передать объект PdfDocument в качестве параметра его конструктору.

Чтобы добавить изображение в pdf, создайте и добавьте объект изображения, который требуется добавить, и добавьте его с помощью метода add () класса Document . Вы можете вставить изображение в нужную позицию в документе, используя метод setFixedPosition () класса Image .

Ниже приведены шаги для установки положения изображения в документе PDF.

Шаг 1: Создание объекта PdfWriter

Класс PdfWriter представляет DocWriter для PDF. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF.

Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF), в его конструктор, как показано ниже.

// Creating a PdfWriter 
String dest = "C:/itextExamples/positionOfImage.pdf"; 
PdfWriter writer = new PdfWriter(dest); 

Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.

Шаг 2: Создание объекта PdfDocument

Класс PdfDocument — это класс, который представляет документ PDF в iText. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Чтобы создать экземпляр этого класса (в режиме записи), вам нужно передать объект класса PdfWriter его конструктору.

Создайте экземпляр класса PdfDocument, передав вышеупомянутый созданный объект PdfWriter его конструктору, как показано ниже.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer); 

После создания объекта PdfDocument вы можете добавить различные элементы, такие как страница, шрифт, вложение файла и обработчик события, используя соответствующие методы, предоставляемые его классом.

Шаг 3: Создание объекта Document

Класс Document пакета com.itextpdf.layout является корневым элементом при создании самодостаточного PDF. Один из конструкторов этого класса принимает объект класса PdfDocument.

Создайте экземпляр класса Document , передав объект класса PdfDocument, созданный на предыдущих шагах, как показано ниже.

// Creating a Document  
Document document = new Document(pdfDoc); 

Шаг 4: Создание объекта Image

Для создания объекта изображения, прежде всего, создайте объект ImageData с помощью метода create () класса ImageDataFactory . В качестве параметра этого метода передайте строковый параметр, представляющий путь к изображению, как показано ниже.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile); 

Теперь создайте экземпляр класса Image пакета com.itextpdf.layout.element . При создании экземпляра передайте объект ImageData в качестве параметра его конструктору, как показано ниже.

// Creating an Image object 
Image img = new Image(data);

Шаг 5: Установка положения изображения

Вы можете установить положение изображения в документе PDF, используя метод ImageFixedPosition () изображения. С помощью этого метода установите положение изображения в координатах (100, 250) на документе, как показано ниже.

// Setting the position of the image to the center of the page 
image.setFixedPosition(100, 250);

Шаг 6: Добавление изображения в документ

Теперь добавьте объект изображения, созданный на предыдущем шаге, используя метод add () класса Document , как показано ниже.

// Adding image to the document 
document.add(img); 

Шаг 7: Закрытие документа

Закройте документ с помощью метода close () класса Document , как показано ниже.

// Closing the document 
document.close(); 

пример

Следующая программа на Java демонстрирует, как установить изображение в желаемой позиции в документе PDF с помощью библиотеки iText. Он создает документ PDF с именем positionOfImage.pdf , добавляет к нему изображение, устанавливает его ближе к центру страницы и сохраняет его по пути C: / itextExamples /

Сохраните этот код в файле с именем SettingPosition.java .

import com.itextpdf.io.image.ImageData; 
import com.itextpdf.io.image.ImageDataFactory; 

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Image;  

public class SettingPosition {      
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter       
      String dest = "C:/EXAMPLES/itextExamples/3images/positionOfImage.pdf";       
      PdfWriter writer = new PdfWriter(dest);               
      
      // Creating a PdfDocument       
      PdfDocument pdfDoc = new PdfDocument(writer);              
      
      // Creating a Document        
      Document document = new Document(pdfDoc);              
      
      // Creating an ImageData object       
      String imFile = "C:/EXAMPLES/itextExamples/3images/logo.jpg";       
      ImageData data = ImageDataFactory.create(imFile);             

      // Creating an Image object        
      Image image = new Image(data);                
      
      // Setting the position of the image to the center of the page       
      image.setFixedPosition(100, 250);                  
      
      // Adding image to the document       
      document.add(image);              
      
      // Closing the document       
      document.close();
      
      System.out.println("Image added");    
   } 
}

Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды.

javac SettingPosition.java 
java SettingPosition 

После выполнения вышеуказанная программа создает документ PDF, отображающий следующее сообщение.

Image added

Если вы проверите указанный путь, вы можете найти созданный PDF-документ, как показано ниже.