如何解决iText7 - 在 PDF 文件上添加 AreaBreak
我正在使用此数据库表中的 Pdfs
创建 itext7
+-----------------------+--------+-----+
| contents | sUnity | sID |
+-----------------------+--------+-----+
| Set n.1 | Q400 | 83 |
| - Par 1.1 | Q400 | 84 |
| <b>bold text</b> | Q400 | 85 |
| - Par 1.2 | Q400 | 86 |
| normal text | Q400 | 87 |
| Set n.2 | Q400 | 88 |
| - Par 2.1 | Q400 | 89 |
| <i>italic text</i> | Q400 | 90 |
| - Par 2.2 | Q400 | 91 |
| <u>underline text</u> | Q400 | 92 |
| - Par 2.3 | Q400 | 93 |
+-----------------------+--------+-----+
当行包含 Pdf
值时,我无法在 Set
上更改页面。
在 Set
行之后,段落数未知...
我需要在 Pdf
这个回报
PDF 第 1 页
+-----------------------+
| Set n.1 |
| - Par 1.1 |
| <b>bold text</b> |
| - Par 1.2 |
+-----------------------+
PDF 第 2 页
+-----------------------+
| Set n.2 |
| - Par 2.1 |
| <i>italic text</i> |
| - Par 2.2 |
| <u>underline text</u> |
| - Par 2.3 |
+-----------------------+
document.Add(new AreaBreak(AreaBreakType.NEXT_PAGE));
我的代码如下
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
contents = new Paragraph(dt.Rows[i]["contents"].ToString())
.SetTextAlignment(TextAlignment.JUSTIFIED)
.SetFontSize(12);
List<IElement> lst = HtmlConverter.ConverttoElements(dt.Rows[i]["contents"].ToString()).ToList();
for (int j = 0; j < lst.Count; j++)
{
IBlockElement element = (IBlockElement)lst[j];
if (dt.Rows[i]["contents"].ToString().StartsWith("Set"))
{
contents.SetFontSize(12)
.SetBold()
.SetFontColor(ColorConstants.BLUE);
}
else if (dt.Rows[i]["contents"].ToString().StartsWith("- "))
{
contents.SetFontSize(11)
.SetBold()
.SetFontColor(ColorConstants.BLACK);
}
else
{
contents.SetTextAlignment(TextAlignment.JUSTIFIED_ALL)
.SetFontSize(10)
.SetFontColor(ColorConstants.BLACK);
}
document.Add(element);
}
}
document.Add(new AreaBreak(AreaBreakType.NEXT_PAGE));
dest = filename.ToString();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。