如何根据辅助功能指南使用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位置答案 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();
请注意,只有在我假设您将表格添加为标题时,此答案才有效。