Как программно сгенерировать файл слова из собранных данных в 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