Показать MS Word 2003.doc в Silverlight 3 - PullRequest
0 голосов
/ 20 апреля 2011

В настоящее время я программирую приложение в Silverlight, которое должно иметь элемент управления для отображения документа Word 2003. Я также могу преобразовать документ до того, как веб-служба отправит его, но формат 2003 года выглядит довольно жестким для манипулирования. Я знаю, что есть некоторые программы, которые могут это сделать, но вы должны их купить. Есть ли у вас какие-либо подсказки, чтобы помочь мне прогрессировать?

1 Ответ

0 голосов
/ 20 апреля 2011

Какого уровня верности вы хотите достичь?

Я совершенно уверен, что самый простой способ сделать это - преобразовать документ в серверную часть XPS (возможно, с принтером XPS), а затем манипулировать им для создания контента, совместимого с Silverlight (XAP)

Почему это? Потому что, например:

  • Silverlight не поддерживает потоковые документы, поэтому вам не нужно выполнять макет на клиенте.
  • Silverlight требует, чтобы шрифты были включены в тот же XAP, который его использует (даже в той же сборке), поэтому вам нужно сгенерировать сборку со шрифтом, встроенным в серверную часть.
  • XPS - это XAML в zip-формате (поэтому управлять им намного лучше, чем Word2003 doc), но это не Silverlight Xaml, вам нужно преобразовать его в Silverlight, прежде чем вы сможете читать его в приложении Silverlight (используя XSLT? будьте осторожны, есть некоторые вычисления, необходимые для преобразования видовых экранов в масштабируемые / преобразованные преобразования). Хорошей новостью является то, что в процессе генерации XPS были учтены все проблемы с макетом.

Год назад я разработал для опытного образца прототип XPS-ридера для Silverlight. Это работало, но рендеринг не был идеальным (я мог бы, тем не менее, с большим количеством работы)

Одним словом: это возможно, не очень сложно, но требует большой работы и практики в нескольких областях (от XSLT до генерации сборок и знания норм XPS). Но я не знаю ни о каких доступных бесплатных решениях.

Поэтому я бы рекомендовал использовать доступное (и работающее) решение, а не идти по пути рискованного развития.

...