布局完成后,我想解析DOM树并获取每个元素的计算样式。这可能吗。

我能得到的最接近的是下面的代码段,但是它只给出了未计算的样式。

Element elm = (Element) _doc.getElementsByTagName("table").item(0);
Map props = _sharedContext.getCss().getCascadedPropertiesMap(elm);


是否还可以获得元素所在的“盒子”。

最佳答案

您可以使用ITextRenderer.getRootBox()访问文档中的计算样式。

此方法返回一个org.xhtmlrenderer.render.Box对象树,您可以对其进行扫描以找到您的元素。

您可以使用Box.getStyle()获取框计算样式,并可以使用Box.getElement()获取框引用的元素。

关于java - 获取DOM元素的计算样式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12473148/

10-16 22:43