Как настроить файлы аннотаций - PullRequest
1 голос
/ 15 сентября 2009

В данный момент я нахожусь на стадии разработки проекта, и клиенту требуется настольное приложение, которое он может использовать для просмотра и аннотирования «любого» типа документа. Я провел некоторое исследование в средстве просмотра документов WPF и документах XPS, и это кажется идеальным решением, поскольку с помощью программы записи документов XPS вы можете распечатать все что угодно в документе xps и легко просмотреть его в своем приложении WPF. Я проверил это с несколькими различными типами документов (PDF, веб-страницы, текстовые документы и т. Д.), И результаты были очень впечатляющими. Я хотел держаться подальше от инструмента рецензирования Adobe PDF, потому что работать с их API-интерфейсами, вероятно, будет сложно, и я хотел разработать решение для всех MS, если это возможно.

Другим важным преимуществом XPS является то, что мы можем использовать инфраструктуру аннотаций WPF (System.Windows.Annotations), но моя проблема заключается в том, что этот фреймворк является хорошим началом, но клиенту нужны более богатые функции, чем фреймворк. не предоставьте, как следующее:

  • Возможность рисовать прямоугольники или эллипсы вокруг различных частей документа
  • Возможность рисовать на документе
  • Возможность добавления заметки к изображению или в любом месте документа, без привязки к определенной части текста
  • Показать автора комментария на заметке
  • Отображение разных цветовых заметок для каждого
  • Кнопка, которая пометит заметку как высокий или низкий приоритет и изменит цвет не соответствующей

Спасибо за любой совет, который вы можете предложить.

- Mehar

Ответы [ 2 ]

0 голосов
/ 30 сентября 2009

Хммм, это звучит знакомо http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/8ed381ad-21b6-4479-b9b2-b6317591e93a

Если бы я был вами, я бы не стал настраивать инфраструктуру WPF Annotation, так как я шел по этому пути, и он высок по шкале сложности и требует отражения, чтобы получить доступ к свойствам, которые вам понадобятся. Если есть возможность представить это решение в виде веб-приложения, я бы посоветовал взглянуть на документ ПО First Floor toolkit: firstfloorsoftware.com/documenttoolkit/

Это среда просмотра / конвертера / аннотации XPS в silverlight, которая полностью работает в веб-браузере. Я не связан с First Floor, но если бы этот фреймворк (и silverlight 3) был доступен год назад, то я бы определенно пошел на это. Это не дешево, но было бы намного дешевле, чем делать всю работу в WPF.

Если вы решите продолжить маршрут WPF, то в блоге Дерека Мелхорна есть кое-что интересное: blogs.msdn.com / mehlhorn / default.aspx

0 голосов
/ 16 сентября 2009

Вы можете выполнить все вышеупомянутые требования с помощью документов XPS и WPF.

Вам просто нужно создать закадровый холст (которого пользователь не видит), загрузить существующий документ XPS. Затем вы можете просто добавить любые необходимые графические объекты или объекты пользовательского интерфейса (прямоугольник, круг, растровые эффекты, текст и т. Д.), И вы сможете легко визуализировать управление поверх существующего документа XPS.

И вы получите полную мощность рендеринга / пользовательского интерфейса WPF для рисования того, что вам нужно в мире.

Будет некоторая ручная работа, чтобы вызвать InvalidateArrange () и InvalidateMeasure () на вашем холсте, но это должно быть довольно просто.

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

...