使用iText java api解决表的可访问性问题

时间:2017-02-13 10:08:40

标签: java itext accessibility

如何根据辅助功能指南使用iText创建表格?

我有使用iText java API创建的某些表格,我有以下可访问性问题需要解决。

TR must be a child of Table, THead, TBody, or TFoot

使用iText时是否有人遇到类似问题或知道如何解决此问题?

更新:

我正在分享我用于此问题的代码。

headerTable.writeSelectedRows(0, -1, headerX, headerY, writer.getDirectContent());

使用 iText 5.5.10

将表格内容写入给定的x,y位置

1 个答案:

答案 0 :(得分:0)

根据您的代码,我假设您要添加标头。由于标题不是实际内容的一部分,因此将表格标记为真实表格时会出错。运行标题之类的东西应该被标记为神器,因为它们不是真实内容的一部分(你不希望每个标题都被读出来加载,对吗;这将违反PDF / UA标准)

例如,请参阅iText page number in header within PDF/A,我们在其中添加如下标题:

PdfContentByte canvas = writer.getDirectContent();
canvas.beginMarkedContentSequence(PdfName.ARTIFACT);
table.writeSelectedRows(0, -1, 36, 30, canvas);
canvas.endMarkedContentSequence();

请注意,只有在我假设您将表格添加为标题时,此答案才有效。