Падение MS Word 2007 при окрытии rtf-отчета сгенерированного
От: viktor11111  
Дата: 06.04.10 15:52
Оценка:
Добрый день.

Столкнулся с такой проблемой, может кто-нибудь сможет помочь советом.

Jasperreports версия 3.0.1 генерирует rtf-отчет содержащий таблицы с текстом в ячейках таблиц (порядка 10 страниц). По особенностям кода jasperreport-а таблицы рисуются с помощью линий (каждая ячейка рисуется отдельными линиями), текст выводиться в текстовый регион, который создается в каждой ячейке таблицы.

При открытии сгенерированного отчета в 2007 ворде, последний падает с малоинформативным сообщением "обнаружена ошибка в winword.exe по такому-то смещению, приложение будет закрыто". Причем если открывать и закрывать один и тот же отчет много раз, то иногда он все-таки открывается без проблем — но какой-то закономерности выявить не удалось.

Так же если выводить в отчет только текст (без любой графики для отображения таблиц) то rtf-отчет открывается нормально. Так же если выводить только таблицы без текста то открывается тоже без падений. Но как только начинаешь выводить и текст и линии для рисования таблиц — начинаются странные падения ворда.

Также если руками (в любом текстовом редакторе) сократить сгенерированый отчет до одной страницы, то он нормально открывается в word 2007. Если за тем в открытом файле скопировать эту страницу и размножить ее еще на десять страниц (обычным копи-пастом), затем сохранить полученный файл, то при последующем его открытии опять происходят падения ворда.

Еще одна закономерность — чем больше файл в размере тем чаще ворд падает при его открытии. При достижении какого-то размера открыть файл без падения почти не удается.

Ошибка воспроизводиться только в 2007 ворде, Word 2003 и OpenOffice открывают rtf-отчет без всяких трудностей.

Погуглив в интернете нашел этот открытый дефект в Jasperreports
http://jasperforge.org/projects/jaspe...hp?id=3562
Но судя по переписке в той ветке — они сами мало представляют из-за чего происходят эти падения.

В связи с непостоянством воспроизведения ошибки и зависимостью к размеру файла, склоняюсь к мысли что где-то в ворде происходит какое-то переполнение или где-то плохая синхронизация потоков или он чтото не очищает после предыдущих падений или еще что-нибудь... во-общем пляшу с бубном )

Хотя если судить по лимитам в ворде http://support.microsoft.com/kb/211489 превысить ничего вроде бы не должно было.

Может кто-то уже сталкивался с чем-нибудь подобным и решил как-то эту проблему, или знает какие-то особенности работы ворда с rtf при использовании большого количества линий и текстовых регионов, или у кого-нибудь будут идеи как можно локализовать проблему, а возможно ее и исправить? Буду рад любым мыслям по теме.

С уважением, Виктор.

P.S. модераторам rsdn.ru: трудно было решить в какую категорию форума задать этот вопрос, так что если посчитаете что этот вопрос лучше перенести в другую ветку форума — буду только за :)
вопросы разработчикам microsoft word 2007 crash rtf jasperreports
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.