java - 我们可以使用 Itext 7 对齐嵌套/子列表而不使用缩进吗?有没有办法使用 Itext 7 List API 来实现这一点?
问题描述
这是示例 HTML,可以观察有无“显示和填充”样式之间的区别。
期望在 Itext7 中得到相同的结果。
考虑具有一层嵌套的列表,期望子级呈现与其父级相同的级别而没有缩进。
<!DOCTYPE html>
<html>
<head>
<style>
ol.a { list-style-type: decimal; }
ol.b { list-style-type: lower-roman; display:inline; padding:0px; }
</style>
</head>
<body>
<h2>Lists</h2>
<p>Example of Flat Simple lists:</p>
<ol class="a">
<li>Item 1</li>
<li>Item 2</li>
<ol class="b" >
<li>Sub Item 1</li>
<li>Sub Item 2</li>
</ol>
<li>Item 3</li>
</ol>
</body>
</html>
预期结果:
1.Item 1
2.Item 2
i.Sub Item 1
ii.Sub Item 2
3.Item 3
我需要与给定的预期输出相同的输出。
当前尝试:
这是我现在使用的代码,但它给出了预期的输出
PdfWriter writer = new PdfWriter("results/listIndent.pdf");
//Initialize PDF document
PdfDocument pdf = new PdfDocument(writer);
// Initialize document
Document document = new Document(pdf);
PdfFont font = dfFontFactory.createFont(StandardFonts.TIMES_ROMAN);
// Add a Paragraph
document.add(new Paragraph("List using iText7:").setFont(font));
List topLevel = new List(ListNumberingType.DECIMAL);
ListItem item1 = new ListItem();
item1.add(new Paragraph().add("Item 1"));
List secondLevel = new List(ListNumberingType.ROMAN_LOWER);
secondLevel.add("Sub Item 1");
secondLevel.add("Sub Item 2");
item1.add(secondLevel);
topLevel.add(item1);
topLevel.add("Item 2");
topLevel.add("Item 3");
document.add(topLevel);
document.close();
解决方案
推荐阅读
- c++ - resetiosflags(ios::skipws) 做什么?
- angular - 如何在 ANGULAR 7 中重新加载 App dot 组件
- sql-server - 使用单个 Azure SQL 数据库托管不同的环境数据库版本
- html - 如何在 left:-20px; 之后加宽 .li 右边缘?
- reactjs - 使用 ApolloClient 时无法访问 this.props
- c++ - 如何修复“无法在动态链接库中找到过程入口点 SDL_ceilf”
- java - 从等待返回集合
- pandas - 如何按列分组并删除或分离熊猫中的值?
- javascript - 使用模式的 Spring Boot 删除操作
- java - 每次应用启动时 FirebaseRecyclerAdapter 都会崩溃