2011-11-21 25 views
5

estoy generando documentos con PHP en formato word y pdfla renderización de páginas roturas en la palabra con HTML

estoy usando encabezados para generar un documento en Word

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 

El WYSIWYG está creando el código siguiente para render pagebreaks

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

Este html/css funciona bien para la salida en pdf pero no en la palabra.

¿Alguien puede recomendar un método alternativo para crear saltos de página que pueden funcionar en palabras.

+0

duplicado Posible - http://stackoverflow.com/questions/1379351/new-line-formatting-when-using-html-file-as-word-file – DeaconDesperado

+2

Problema es saltos de página no saltos de línea – user1019144

+1

has necesitado salida un personaje de FormFeed ( )? –

Respuesta

1

Se rascará la cabeza para descubrir cómo Microsoft juega con los estándares para forzar sus propios estándares.

Intente hacer un documento de Word con un salto de página, es decir, dos páginas. Guárdelo como HTML y verifique el código generado para saber qué combinación de estilo + etiqueta funciona para ellos.

Tenga en cuenta que el estilo de Word 2000 puede ser diferente de Word 2003, que podría ser diferente de Word 2007, que podría ser diferente de Word 2010 nuevamente.

Ajuste la solución según la versión de Word que esté utilizando, ya que las diferencias siempre están presentes en los productos de Microsoft. Un problema similar es: Outlook 2003 usa el motor de Internet Explorer para procesar correos electrónicos HTML, mientras que Outlook 2007 usa el motor de representación de Word. correo electrónico HTML que muestran con los estilos correctos y fuentes en Outlook 2003 no se mostrará correctamente en Outlook 2007.

14

La pregunta se hizo hace un tiempo pero estoy añadiendo esto como referencia:

que tenía el mismo problema y estaba capaz de hacer un salto de página con este código

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

la única manera de que pudiera conseguir que el trabajo fue con el elemento "ancho" y el estilo que en línea.

+0

Palabras ideales para Word 2007. Esta debería ser la respuesta, IMO. – Amalgovinus

+0

Funciona bien en Word 2016. ¡Gracias por esta solución! –

Cuestiones relacionadas