【问题标题】:PDFBox I need to wrap the link tags with reference tagPDFBox 我需要用引用标签包装链接标签
【发布时间】:2021-11-25 15:00:36
【问题描述】:

我需要用reference 标签包裹link 标签。

private static PDStructureElement wrapInElement(String structType, PDStructureElement pdStructureElement) {
    PDStructureNode parentNode = pdStructureElement.getParent();
    PDStructureElement structureElement = null;
    if (parentNode!=null && parentNode instanceof PDStructureElement)  {
        structureElement = new PDStructureElement(structType,parentNode);
        structureElement.setElementIdentifier("wrap"+noteID++);
        parentNode.insertBefore(structureElement,pdStructureElement);
        structureElement.setParent(parentNode);
        structureElement.appendKid(pdStructureElement);
        parentNode.removeKid(pdStructureElement);
    }
    return structureElement;
}

它会进行结构更改。但在 PAC3 中显示以下错误,

“Link”注解没有嵌套在“Link”结构元素中

请帮我解决问题。 Sample PDF here.

【问题讨论】:

    标签: java pdf pdfbox tagged-pdf


    【解决方案1】:

    parentNode.removeKid(pdStructureElement);

    应该在“appendkid”之前完成。

    private static PDStructureElement wrapInElement(String structType, PDStructureElement pdStructureElement) {
                PDStructureNode parentNode = pdStructureElement.getParent();
                PDStructureElement structureElement = null;
                if (parentNode!=null && parentNode instanceof PDStructureElement)  {
                    structureElement = new PDStructureElement(structType,parentNode);
                    parentNode.insertBefore(structureElement,pdStructureElement);
                    structureElement.setParent(parentNode);
                    parentNode.removeKid(pdStructureElement);
                    structureElement.appendKid(pdStructureElement);
                }
                return structureElement;
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      • 2013-05-13
      • 1970-01-01
      • 1970-01-01
      • 2021-04-11
      • 2023-04-07
      • 2018-12-12
      相关资源
      最近更新 更多