Я хочу извлечь весь жирный текст из файла DOCX, используя docx4j, но получаю исключение приведения класса с этим кодом:
import java.util.List;
import javax.xml.bind.JAXBException;
import org.docx4j.Docx4J;
import org.docx4j.openpackaging.exceptions.Docx4JException;
import org.docx4j.wml.Text;
public class Main
{
public static void main(String[] args) throws Docx4JException, JAXBException
{
var wordMLPackage = Docx4J.load(new java.io.File("input.docx"));
var doc = wordMLPackage.getMainDocumentPart();
System.out.println((Text)doc.getJAXBNodesViaXPath("//w:r[w:rPr/w:b]/w:t", false).get(0));
}
}
Ошибка:
Исключениев потоке "main" java.lang.ClassCastException: класс javax.xml.bind.JAXBElement не может быть приведен к классу org.docx4j.wml.Text (javax.xml.bind.JAXBElement и org.docx4j.wml.Text не названымодуль загрузчика 'app') в Main.main (Main.java:37)
Почему вхождение "w: t" не является экземпляром org.docx4j.wml.Text
и как я получаю текст вместо