Как программно сгенерировать файл слова из собранных данных в iPhone SDK

У меня есть приложение для iPhone, состоящее из нескольких форм, в которых я собираю данные от пользователей. Теперь, в конце этих форм, после того, как пользователь заполнил все данные, я хочу, чтобы все собранные данные были экспортированы и был создан файл MS Word.doc. Данные тоже не простой текст. В нем есть заголовки, таблицы и обычный текст. Есть ли способ, которым я могу сделать это?

3 ответа

Решение

Короткий ответ да, длинный ответ:

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

В HTML-документе может потребоваться дополнительный код (например, чтобы открыть его в представлении страницы, а не в представлении HTML), но все это можно выяснить, сохранив документ Word в формате HTML.:) В интернете также много информации об этом, если вы знаете, где искать.

Я сделал что-то подобное не так давно. Я посмотрю, смогу ли я найти пример и опубликовать его здесь.

Обновить

Это единственная "нестандартная" вещь, которую я имею в своем html-слове doc:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns:v="urn:schemas-microsoft-com:vml" 
    xmlns:o="urn:schemas-microsoft-com:office:office" 
    xmlns:w="urn:schemas-microsoft-com:office:word" 
    xmlns="http://www.w3.org/TR/REC-html40">

И это - сделать его открытым в режиме просмотра страницы:

<!--[if gte mso 9]><xml> 
     <w:WordDocument> 
      <w:View>Print</w:View> 
      <w:Zoom>100</w:Zoom> 
     </w:WordDocument> 
    </xml><![endif]--> 

В остальном это просто стандартные HTML и CSS (не забудьте поместить CSS ВНУТРИ HTML-документа в <style> теги - слово не собирается удаленно получать ваши CSS-файлы).

Если при создании документа допустимо подключение, вы можете использовать онлайн-сервис, такой как облачный сервис Docmosis. Это может сделать слияние почты и доставить документ в различных форматах. Это можно вызвать из iOS. Надеюсь, это поможет.

Подготовьте соответствующий файл HTML в соответствии с требуемым форматом документа. Добавьте эту строку вверху

<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'>

и сохраните HTML-файл в формате.doc.

Это решит вашу проблему.

Для получения дополнительной информации о форматировании см. Эту ссылку.

http://sebsauvage.net/wiki/doku.php?id=word_document_generation

Другие вопросы по тегам