рендеринг разрывов страниц в слове с помощью HTML - PullRequest
7 голосов
/ 22 ноября 2011

Я создаю документы с php в формате word и pdf

Я использую заголовки для создания документа в слове

header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=example.doc");
echo "<html>";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">";
echo "<body>"; etc etc

Wysiwyg создает следующий код для отображения разрывов страниц

<div style="page-break-after: always;"><span style="display: none;">&nbsp;</span></div>

Этот html / css отлично работает для вывода PDF, но не для слова.

Может кто-нибудь порекомендовать альтернативный метод создания разрывов страниц, который может работать в слове.

Ответы [ 4 ]

22 голосов
/ 27 июня 2012

Вопрос был задан некоторое время назад, но я добавляю его для справки:

У меня была такая же проблема, и я смог сделать разрыв страницы с этим кодом

<br style="page-break-before: always">

Единственный способ заставить его работать, был с элементом "br" и встроенным стилем.

1 голос
/ 16 мая 2019
<code><pre><br clear=all style='mso-special-character:line-break;page-break-before:always'>

Это работает для меня, чтобы разбить содержимое на следующую страницу.

1 голос
/ 07 января 2019

Вставка любого из следующих (где вы хотите разрыв страницы) будет работать с MS Word 2000-2007 (и, возможно, с более поздними версиями):

1) <br clear=all style='page-break-before:always'>

2) &#12; /* Ctrl-L = FF */

1 голос
/ 06 февраля 2012

Вы будете чесать голову, чтобы понять, как Microsoft играет с стандартами , чтобы навязать свои собственные стандарты.

Попробуйте создать документ Word с разрывом страницы - то есть на две страницы. Сохраните его как HTML и проверьте сгенерированный код на предмет того, какая комбинация стиль + тег работает для них.

Помните, что стилизация Word 2000 может отличаться от Word 2003 - который может снова отличаться от Word 2007 - который может снова отличаться от Word 2010.

Поэтому настройте решение в зависимости от используемой версии Word, поскольку такие различия всегда присутствуют в продуктах Microsoft. Одна похожая проблема: Outlook 2003 использует механизм Internet Explorer для рендеринга электронных писем в формате HTML, а Outlook 2007 использует механизм рендеринга Word. Сообщение электронной почты в формате HTML, отображаемое с правильными стилями и шрифтами в Outlook 2003, не будет отображаться должным образом в Outlook 2007.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...