rlw*_*ler 1 java pdf-generation itext itext7
我使用 iText 7 创建了一个问题和答案列表,其中问题和答案都显示在列表的同一行中。我试图将问题加粗,同时保留正常字体粗细的答案。当我运行类似于下面显示的代码时,我得到这个 (com.itextpdf.layout.element.Text@73df99a1) 代替粗体文本。是否可以在同一个 iText 7 ListItem 中获得各种粗细的字体?
String dest = "destination.pdf"
PdfWriter writer = new PdfWriter(dest);
PdfDocument pdf = new PdfDocument(writer);
Document document = new Document(pdf);
List qaList = new List();
qaList.add(new ListItem(new Text("Question 1?").setBold() + "Answer 1"));
qaList.add(new ListItem(new Text("Question 2?").setBold() + "Answer 2"));
document.add(qaList);
document.close();
Run Code Online (Sandbox Code Playgroud)
您可以ListItem通过显式创建Paragraph具有不同样式的包含片段并将该段落添加到列表项中,在 iText 7 中应用不同的样式:
Document document = new Document(pdfDocument))
List qaList = new List();
ListItem item = new ListItem();
Paragraph paragraph = new Paragraph();
paragraph.add(new Text("Question 1? ").setBold())
.add(new Text("Answer 1"))
.setMarginTop(0).setMarginBottom(0);
item.add(paragraph);
qaList.add(item);
item = new ListItem();
paragraph = new Paragraph();
paragraph.add(new Text("Question 2? ").setBold())
.add(new Text("Answer 2"))
.setMarginTop(0).setMarginBottom(0);
item.add(paragraph);
qaList.add(item);
document.add(qaList);
Run Code Online (Sandbox Code Playgroud)
(StyledListItems测试testAddMultiStyledListItems)
结果是
顺便说一句,你为什么
得到这个(com.itextpdf.layout.element.Text@73df99a1)代替粗体文本
是在
qaList.add(new ListItem(new Text("Question 1?").setBold() + "Answer 1"));
Run Code Online (Sandbox Code Playgroud)
你实际上执行了一个String连接,
new Text("Question 1?").setBold() + "Answer 1"
Run Code Online (Sandbox Code Playgroud)
对这个 StringtoString()的结果对象的调用new Text("Question 1?").setBold()将"Answer 1".
| 归档时间: |
|
| 查看次数: |
1313 次 |
| 最近记录: |