В этой главе мы увидим, как установить цвет и шрифт для текста в документе PDF с помощью библиотеки iText.
Настройка шрифта текста в PDF
Вы можете создать пустой PDF-документ, создав экземпляр класса Document . При создании экземпляра этого класса вам необходимо передать объект PdfDocument в качестве параметра его конструктору.
Чтобы добавить абзац в документ, вам нужно создать экземпляр класса Paragraph и добавить этот объект в документ с помощью метода add () . Вы можете установить цвет и шрифт для текста, используя методы setFontColor () и setFont () соответственно.
Ниже приведены шаги для установки цвета и шрифта для текста в документе PDF.
Шаг 1: Создание объекта PdfWriter
Класс PdfWriter представляет DocWriter для PDF. Этот класс принадлежит пакету com.itextpdf.kernel.pdf . Конструктор этого класса принимает строку, представляющую путь к файлу, в котором должен быть создан PDF.
Создайте экземпляр класса PdfWriter, передав строковое значение (представляющее путь, по которому вам нужно создать PDF), в его конструктор, как показано ниже.
// Creating a PdfWriter String dest = "C:/itextExamples/fonts.pdf"; PdfWriter writer = new PdfWriter(dest);
Когда объект этого типа передается в PdfDocument (класс), каждый элемент, добавленный в этот документ, будет записан в указанный файл.
Шаг 2. Создание PDF-документа
Класс 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: Создание текста
Создайте текст, создав экземпляр класса Text пакета com.itextpdf.layout.element, как показано ниже.
// Creating text object Text text = new Text("Tutorialspoint");
Шаг 5: Установка шрифта и цвета для текста
Создайте объект PdfFont, используя метод createFont () класса PdfFontFactory пакета com.itextpdf.kernel.font, как показано ниже
// Setting font of the text PdfFont font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);
Теперь установите шрифт для текста, используя метод setFont () класса Text для этого метода. Передайте объект PdfFont в качестве параметра, как показано ниже.
text1.setFont(font);
Чтобы установить цвет текста, вызовите метод setFontColor () класса Text, как показано ниже.
// Setting font color text.setFontColor(Color.GREEN);
Шаг 6: Добавление текста в абзац
Создайте объект класса Paragraph и добавьте созданный выше текст, используя метод add () , как показано ниже.
// Creating Paragraph Paragraph paragraph = new Paragraph(); // Adding text to the paragraph paragraph.add(text);
Шаг 7: Добавление абзаца в документ
Добавьте абзац в документ, используя метод add () класса Document , как показано ниже.
doc.add(paragraph1)
Шаг 8: Закрытие документа
Закройте документ с помощью метода close () класса Document , как показано ниже.
// Closing the document document.close();
пример
Следующая программа на Java демонстрирует, как установить цвет и шрифт для текста в PDF с помощью библиотеки iText. Он создает документ PDF с именем fonts.pdf , форматирует текст и сохраняет его по пути C: / itextExamples /
Сохраните этот код в файле с именем FormatingTheText.java .
import com.itextpdf.io.font.FontConstants; import com.itextpdf.kernel.color.Color; import com.itextpdf.kernel.font.PdfFontFactory; import com.itextpdf.kernel.font.PdfFont; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Paragraph; import com.itextpdf.layout.element.Text; public class FormatingTheText { public static void main(String args[]) throws Exception { // Creating a PdfWriter object String dest = "C:/itextExamples/fonts.pdf"; PdfWriter writer = new PdfWriter(dest); // Creating a PdfDocument object PdfDocument pdf = new PdfDocument(writer); // Creating a Document object Document doc = new Document(pdf); // Creating text object Text text1 = new Text("Tutorialspoint"); // Setting font of the text PdfFont font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD); text1.setFont(font); // Setting font color text1.setFontColor(Color.GREEN); // Creating text object Text text2 = new Text("Simply Easy Learning"); text2.setFont(PdfFontFactory.createFont(FontConstants.HELVETICA)); // Setting font color text2.setFontColor(Color.BLUE); // Creating Paragraph Paragraph paragraph1 = new Paragraph(); // Adding text1 to the paragraph paragraph1.add(text1); paragraph1.add(text2); // Adding paragraphs to the document doc.add(paragraph1); doc.close(); System.out.println("Text added to pdf .."); } }
Скомпилируйте и выполните сохраненный файл Java из командной строки, используя следующие команды:
javac FormatingTheText.java java FormatingTheText
После выполнения вышеуказанная программа создает документ PDF, отображающий следующее сообщение.
Text added to pdf ..
Если вы проверите указанный путь, вы можете найти созданный PDF-документ, как показано ниже.