iText - установка шрифта
В этой главе мы увидим, как установить цвет и шрифт для текста в PDF-документе с помощью библиотеки iText.
Установка шрифта текста в PDF
Вы можете создать пустой PDF-документ, создав экземпляр Documentкласс. При создании экземпляра этого класса вам необходимо передатьPdfDocument объект в качестве параметра его конструктора.
Чтобы добавить абзац в документ, вам необходимо создать экземпляр Paragraph class и добавьте этот объект в документ, используя 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-документа
В PdfDocumentclass - это класс, представляющий PDF-документ в iText. Этот класс принадлежит пакетуcom.itextpdf.kernel.pdf. Чтобы создать экземпляр этого класса (в режиме записи), вам необходимо передать объект классаPdfWriter своему конструктору.
Создайте экземпляр класса PdfDocument, передав объект PdfWriter его конструктору, как показано ниже.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
После создания объекта PdfDocument вы можете добавлять различные элементы, такие как страница, шрифт, вложение файла и обработчик событий, используя соответствующие методы, предоставляемые его классом.
Шаг 3: Создание класса документа
В 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, как показано ниже.