布局完成后,我想解析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/