itext
Текст в PDF: iText 5 по сравнению с iText 7
Поиск…
замечания
Код для преобразования простого текстового файла в документ PDF довольно прост, используете ли вы iText 5 или iText 7. В iText 7 у вас есть преимущество в том, что вы можете определить выравнивание на уровне документа. В iText 5 вы должны установить выравнивание для каждого отдельного объекта Paragraph
.
Чтобы понять реальную разницу между iText 5 и iText 7 в этой паре примеров, мы должны взглянуть на полученный PDF. В iText 5 мы получаем 35 страниц текста. В iText 7 у нас есть тот же текст, который распространяется на 38 страницах.
Текст легче читать при создании iText 7, потому что при создании макета используются разные значения по умолчанию. Вы можете получить тот же результат из iText 5 кода, но тогда вам придется изменить некоторые значения в отношении интервала.
В iText 7 значения по умолчанию были выбраны на основе 16-летнего опыта работы с iText. Таким образом, вы получите лучший результат с меньшим количеством кода.
Хотите узнать больше?
Чтение Работа с RootElement, которая является главой 5 в учебнике iText 7: Building Blocks . Получите бесплатную электронную книгу!
Text2Pdf.java (iText 5)
Предположим, что у нас есть следующий текстовый файл: jekyll_hyde.txt
Как мы преобразуем его в PDF, который выглядит так:
При использовании iText 5 мы будем использовать следующий код:
public void createPdf(String dest)
throws DocumentException, IOException {
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(dest));
document.open();
BufferedReader br = new BufferedReader(new FileReader(TEXT));
String line;
Paragraph p;
Font normal = new Font(FontFamily.TIMES_ROMAN, 12);
Font bold = new Font(FontFamily.TIMES_ROMAN, 12, Font.BOLD);
boolean title = true;
while ((line = br.readLine()) != null) {
p = new Paragraph(line, title ? bold : normal);
p.setAlignment(Element.ALIGN_JUSTIFIED);
title = line.isEmpty();
document.add(p);
}
document.close();
}
Источник: developers.itxtpdf.com
Text2Pdf.java (iText 7)
Предположим, что у вас есть следующий текстовый файл: jekyll_hyde.txt
Как мы преобразуем его в PDF, который выглядит так:
При использовании iText 7 нам нужен следующий код:
public void createPdf(String dest) throws IOException {
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
Document document = new Document(pdf)
.setTextAlignment(TextAlignment.JUSTIFIED);
BufferedReader br = new BufferedReader(new FileReader(TEXT));
String line;
PdfFont normal = PdfFontFactory.createFont(FontConstants.TIMES_ROMAN);
PdfFont bold = PdfFontFactory.createFont(FontConstants.TIMES_BOLD);
boolean title = true;
while ((line = br.readLine()) != null) {
document.add(new Paragraph(line).setFont(title ? bold : normal));
title = line.isEmpty();
}
document.close();
}
Источник: developers.itxtpdf.com и учебник iText 7: Building Blocks .