Проверка правильности RTF

Тема в разделе "WASM.HEAP", создана пользователем FF, 30 авг 2006.

  1. FF

    FF New Member

    Публикаций:
    0
    Регистрация:
    30 авг 2006
    Сообщения:
    2
    Здравствуйте.

    Моя программа генерирует rtf-файлы, которые пользователи открывают в MS Word. Word 2003 виснет при перемотке документа полосой прокрутки (колесом мыши мотать можно, не виснет). Word 97 вылетает с исключением при открытии документа.

    Можно ли как-нибудь проверить документ на правильность, чтобы проверяльщик явно сообщил, правильный документ или нет? И желательно, где ошибка.

    Кстати, другие программы (напр. OpenOffice) просматривают документы без проблем.
     
  2. Marcus

    Marcus New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2006
    Сообщения:
    8
    Гы, а подробнее можно. Версии ворда и документ, на котором происходит исключение ;))))))))
     
  3. gazlan

    gazlan Member

    Публикаций:
    0
    Регистрация:
    22 май 2005
    Сообщения:
    414
    А что говорит Wordpad ? Можно ли сконвертировать RTF в текст (каким-либо конвертером, в том числе) и убедиться в его (не)корректности ?

    Тэги документированы (зависят от версии RTF). Также несложно проверить четность (сложнее - парность) скобок, завершающий нуль. Я бы начал с этого. Истиный валидатор потребует грамматического разбора файла - вряд ли оно того стоит.
     
  4. FF

    FF New Member

    Публикаций:
    0
    Регистрация:
    30 авг 2006
    Сообщения:
    2
    В том числе и WordPad и пр. и никто даже не ругается.

    После долгих размышлений пришёл к выводу, что ед. способ - это делить файл пополам и смотреть, в какой части происходит ошибка.

    Я тоже полагаю, что проблема в парности скобок таблиц (\cellx \cell и т.п.), и то же написано и в стандарте RTF (что любой ворд может от этого заглючить :). Другое дело, что хотелось бы общего автоматизированного решения для проверки.