Теперь я использую poi 3.11.
org.apache.poi.hwpf.usermodel.CharacterRun (для файлов *.doc) имеет как isStrikeThrough(), так и isDoubleStrikeThrough(), но org.apache.poi.xwpf.usermodel.XWPFRun (для файлов *.docx) имеет только isStrike().
Зачем?
кажется, что метод isStrike() не может обнаружить состояние с двойным ударом.
я знаю, что двойное состояние может быть обнаружено с помощью этой реализации ниже
instanceOfXWPFRun.getCTR().getRPr().isSetDstrike()
но мне это не нравится. Существуют ли какие-либо унифицированные интерфейсы, классы или методы?
Вам нужно использовать более новую версию Apache POI. (3.12 beta 1 будет делать вас, когда это произойдет, на данный момент ночная /svn-сборка)
Если вы посмотрите на последние JavaDocs для XWPFRun, вы увидите, что существуют методы isDoubleStrikeThrough() и setDoubleStrikethrough (boolean)
Эти два также доступны на общем интерфейсе CharacterRun, который совместно используется HWPF CharacterRun
и XWPF XWPFRun