Я пишу PHP-приложение для клиента, которому требуется уже существующая HTML-страница, которую я уже создал, чтобы «экспортироваться» в виде файла Word. Просто, вот как это делается:
if (isset($_GET["word"])) { header("Content-type: application/vnd.ms-word"); header("Content-Disposition: attachment;Filename=some_file.doc"); }
Это, конечно, будет вызвано, если флаг «word» находится в запросе страницы, например:
anypage.php? somequery = string & someother = test & word
В любом случае, мой вопрос заключается в том, что, несмотря на то, насколько сложна эта HTML-страница на самом деле, она действительно хорошо переносится в хорошо отформатированный Word-файл, просто изменяя тип содержимого. Единственная проблема, с которой я столкнулась, заключается в том, что новая строка прерывается (HTML-теги) не форматируются должным образом. Например: В моем html, если у меня есть что-то похожее
август 01
с BR между линиями, он всегда заканчивается показом
Aug 01
в сгенерированном файле Word.
Я сделал несколько Googling и множество тестов с другими вещами, но ничто, кажется, не форматирует правильно с простой новой строкой.
Кто-нибудь знает, как правильно форматировать новый символ строки в файле Word, который создается из файла HTML?
Любая помощь приветствуется.
Редактировать:
Я попробовал обернуть указанную строку в теге P, ala:
<Р> Август <br> 01 </ p>
Без везения. Я также попытался создать базовый документ и Word, сохранив его как файл HTML и посмотрев на сгенерированный (то есть неаккуратный) Word HTML-источник. Там есть какой-то CSS, который, как я думал, может дать мне ключ, но я все пробовал, и ничего не работало должным образом. Word, кажется, добавляет класс «MsoNormal» к обернутым абзацам, я пытался добавить это, но он просто удаляет все форматирование шрифта, которое у меня было, и не помогает. Здесь создается CSS-текст:
p.MsoNormal, li.MsoNormal, div.MsoNormal {Не МСО-стиль-Unhide: нет; МСО-стиль-qformat: да; МСО-стиль-родителя: ""; Запас-топ: 0cm; Маржа направо: 0cm; край дно: 10.0pt; Левое поле: 0cm; высота строки: 115%; МСО-пагинация: вдова-сирота; размер шрифта: 11.0pt; семейство шрифтов: «Calibri», «без засечек»; МСО-ASCII-семейство шрифтов: Calibri; МСО-ASCII-тема-шрифта: мелкий латынь; МСО-Дальневосточного-семейство шрифтов: Calibri; МСО-Дальневосточного тема-шрифта: мелкий латынь; МСО-Ханси-семейство шрифтов: Calibri; МСО-Ханси-тема-шрифта: мелкий латынь; mso-bidi-font-family: «Times New Roman»; МСО-биди-тема-шрифта: мелкий-биди; МСО-Дальневосточного язык: EN-US;}