Подтвердить что ты не робот

Есть ли способ генерировать словарные документы динамически, не имея слов на машине

Я планирую динамически генерировать документ Word на веб-сервере. Есть ли хороший способ сделать это в С#? Я знаю, что мог бы script Word сделать это, но я бы предпочел другой вариант.

4b9b3361

Ответ 1

Я работал в компании в прошлом, которая действительно хотела сгенерированных текстовых документов, в конце концов они были полностью удовлетворены документами RTF с расширением ".doc". Word не имеет проблем с распознаванием и открытием.

Документы RTF были сгенерированы с помощью iText.net (бесплатная .net-библиотека), API довольно прост в использовании, работает очень хорошо, вам не нужно вводить слово на машине, а также вы можете продлить разработку документов PDF, HTML и Text в будущем с минимальными усилиями. Через четыре года решение, которое я создал, все еще на месте, так что небольшое свидетельство в iText.net.

Похоже, что официальная iText страница предполагает, что iText Sharp - лучший выбор .Net прямо сейчас, так что другой вариант

Ответ 2

Вам будет лучше генерировать rtf файл, какое слово будет знать, как его открыть.

Ответ 3

Если вы хотите создавать документы Office 2007, проверьте форматы файлов Open XML, они просто застряли в XML файлах, проверьте эти ссылки:

Изменить: Проверить этот проект, который может послужить вам хорошей отправной точкой:

Кажется очень простым и настраиваемым, посмотрите этот фрагмент кода:

Paragraph p = new Paragraph();
p.Runs.Add(new Run("Text can have multiple format styles, they can be "));
p.Runs.Add(new Run("bold and italic", 
        TextFormats.Format.Bold | TextFormats.Format.Italic));
doc.Paragraphs.Add(p);

Ответ 4

Word довольно счастливо откроет HTML с расширением .doc. Если вы включаете внутреннюю таблицу стилей, вы можете полностью ее форматировать. Был предыдущий пост на эту тему:

Экспорт в Word Document на С#

Ответ 5

Создание старых .DOC файлов (pre-Word 2007) практически невозможно без самого Word. Формат слишком сложный. Microsoft выпустила описание формата, но этого достаточно, чтобы сократить взрослого программиста до слез. Для этого есть и причина (историческая), но это не улучшает ситуацию.

Новый .DOCX будет проще, хотя все еще немного хлопот. Однако в зависимости от того, какие версии Word вы нацеливаете, есть и другие варианты.

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

Затем появляются "старые" текстовые файлы Word. Я думаю, что они работали, начиная с Word XP. Соблюдайте предшественников .DOCX. Я использовал их, неплохо. И документация в порядке.

Наконец, простой способ, который я бы выбрал, - сделать простой HTML. Word может загружать HTML файлы просто отлично, начиная с версии 2000. Простейшим способом просто изменить расширение HTML файла на .DOC, и у вас оно есть. Вы также можете добавить несколько тегов и комментариев для конкретных слов, чтобы сделать его лучше в Word. Используйте опцию Word Сохранить как... HTML, чтобы увидеть, что они собой представляют.

Ответ 6

Есть сторонние библиотеки, которые будут выполнять эту работу.

Для быстрого google придумал этот, например.

Я не пробовал, поэтому я не могу дать вам конкретный совет, боюсь!

Дайте нам знать, как вы справляетесь...

Ответ 7

В Office 2007 корпорация Microsoft представила новый формат файлов, называемый Microsoft Open Office XML Format (.docx). Этот формат несовместим со старыми версиями Microsoft Word. Поскольку это XML, вы можете создавать или читать без наличия Word.

Ответ 8

Вот компонент, который генерирует документ на основе настраиваемого шаблона. Документы создаются из списка sharepoint... поэтому данные перемещаются из элемента списка в документ "на лету": http://store.sharemuch.com/products/generate-word-documents-from-sharepoint-list

Надеюсь, что это поможет,

Ярослав Пентсерский Блог: www.sharemuch.com