То, что MS Word и MS Excel умеют понимать HTML, ни для кого не секрет. Это вообще очень удобно делать живой экспорт документов с веб-страниц в формат Микрософта.
Хули тут, взял да послал два хедера:
header('Content-Type: application/msword');
header('Content-Disposition: attachment; filename="export_file_name"');
Но вот однажды привередливый клиент начал рвать на себе волосы, дескать, с какого это перепугу страница Экспортируется в Ворд, но не видно самого листа, полей документа, Ворд как-то не так выглядит.
Оказалось, документ экспортируется в Word по дефолту в Web Layout, когда всё видно на бесконечном белом фоне:
И в принципе клиент прав, ему этот экспорт нужен для печати, а границ страницы не видно, неаккуратненько как-то.
Проблема решается парой действий.
1. Тег <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'>
2. В <head></head> шаблона добавляем строки:
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Print</w:View>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</xml><![endif]-->
(для чего нужна предпоследняя строка догадайтесь сами, это домашнее задание)
И о чудо! Документ теперь экспортируется в Print Layout!
Приятных всем снов.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий