Я генерирую файл DOCX с Apache-Poi. В wordfile я добавляю таблицы, столбцы которых имеют ширину, которую я хотел бы видеть фиксированной.
В настоящее время я использую технику, описанную здесь: http://apache-poi.1045710.n5.nabble.com/Is-there-a-way-to-set-the-width-of-a-column-in-XWPFTableCell -td5711491.html
В основном это влечет за собой установку
cell.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(cols[j]));
на каждой ячейке этого столбца.
Проблема в том, что, хотя файл прекрасно открывается в MS Word, open office по-разному интерпретирует значения, установленные для ширины столбца. Принимая во внимание, что MS Word, по-видимому, принимает 20-ю точку в качестве единиц, при открытии офиса кажется, что вместо них используются точки, и поэтому все столбцы становятся в 20 раз шире, когда я открываю сгенерированный документ в ОО.
Обычно, когда я вижу что-то странное в сгенерированном выводе, я распаковываю файл docx, вижу значение и меняю свой код. Но кажется, что open office не может сохранить в docx, поэтому я не могу изменить значение в OO, сохранить его обратно и посмотреть, правильно ли Word интерпретирует документ, чтобы найти решение для нескольких приложений.
Любая идея, как я устанавливаю ширину столбца таблицы, чтобы и OO, и MS Wordt интерпретировали это одинаково?