itext
스타일 : iText 5 대 iText 7
수색…
비고
스타일 사이를 전환해야하는 문서를 만드는 일은 종종 iText 5에서 지루한 경향이 있습니다. 많은 Chunk
객체를 만들어야하고 스타일을 모든 새 Chunk
직접 적용하거나 생성하는 사이에 항상 균형을 Chunk
Chunk
를 생성하는 도우미 메서드.
우리가 iText 7에서 수정 한 것 :
이제 방법을 연결할 수 있습니다. setFont()
, setFontSize()
, addStyle()
및 기타 메서드는 모두 호출 된 객체를 반환합니다. 다른 스타일과 관련된 Paragraph
을 한 줄에 추가 할 수 있습니다.
document.add(
new Paragraph()
.add("In this example, named ")
.add(new Text("HelloWorldStyles").addStyle(style))
.add(", we experiment with some text in ")
.add(new Text("code style").addStyle(style))
.add("."));
Style
객체를 사용하여 addStyle()
메서드를 사용하여 다양한 속성 (글꼴, 글꼴 색상, 배경색, 글꼴 크기 등)을 한 번에 적용 할 수 있습니다.
더 알고 싶으십니까?
iText 7 : Building Blocks 튜토리얼의 1 장인 PdfFont 클래스 소개를 읽으십시오. 무료 전자 책을 받으십시오!
HelloWorldStyles.java (iText 5)
이 iText 5 예제에서는 동일한 문서에서 서로 다른 스타일을 전환해야합니다.
iText 5에서이 작업을 수행하는 가장 좋은 방법은 자주 사용해야하는 스타일로 Chunk
를 생성하는 편리한 방법을 만드는 것입니다. createBgChunk()
메소드를 참조하십시오.
public Chunk createBgChunk(String s, Font font) {
Chunk chunk = new Chunk(s, font);
chunk.setBackground(BaseColor.LIGHT_GRAY);
return chunk;
}
이제 PDF를 만드는 코드에서이 메서드를 사용할 수 있습니다.
public void createPdf(String dest)
throws DocumentException, IOException {
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(dest));
document.open();
Font code = new Font(FontFamily.COURIER, 12, Font.NORMAL, BaseColor.RED);
Paragraph p = new Paragraph("In this example, named ");
p.add(createBgChunk("HelloWorldStyles", code));
p.add(", we experiment with some text in ");
p.add(createBgChunk("code style", code));
p.add(".");
document.add(p);
document.close();
}
HelloWorldStyles.java (iText 7)
이 iText 7 예제에서는 동일한 문서에서 서로 다른 스타일을 전환해야합니다.
iText 7에서 이것을 달성하는 가장 좋은 방법은 Style
객체를 만들고 그 Style
을 Text
객체에 적용하는 것입니다.
public void createPdf(String dest) throws IOException {
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
PdfFont code = PdfFontFactory.createFont(FontConstants.COURIER);
Style style = new Style()
.setFont(code)
.setFontSize(12)
.setFontColor(Color.RED)
.setBackgroundColor(Color.LIGHT_GRAY);
try (Document document = new Document(pdf)) {
document.add(
new Paragraph()
.add("In this example, named ")
.add(new Text("HelloWorldStyles").addStyle(style))
.add(", we experiment with some text in ")
.add(new Text("code style").addStyle(style))
.add("."));
}
}
출처 : developers.itextpdf.com 및 iText 7 : Building Blocks 튜토리얼.