2011-11-21 18 views
5

sto generazione di documenti con php in parola e formato pdfinterruzioni di pagina il rendering in parola con html

Sto usando intestazioni di generare un documento in 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 

Il wysiwyg sta creando il seguente codice render pagebreaks

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

Questo html/css funziona correttamente per l'output pdf ma non per la parola.

Qualcuno può consigliare un metodo alternativo per creare interruzioni di pagina che potrebbero funzionare in parole.

+0

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

+2

Il problema è interruzioni di pagina e non interruzioni di riga – user1019144

+1

Hai provato l'emissione un carattere FormFeed ( )? –

risposta

1

Ti starai grattando la testa per capire come Microsoft gioca con gli standard per forzare i propri standard.

Provare a creare un documento Word con un'interruzione di pagina, ovvero due pagine. Salvalo come HTML e controlla il codice generato per quale combinazione di stili + tag sta funzionando per loro.

Tenere presente che lo stile di Word 2000 potrebbe essere diverso da Word 2003, che potrebbe essere diverso da Word 2007, che potrebbe essere nuovamente diverso da Word 2010.

Quindi regolare la soluzione in base alla versione di Word in uso poiché tali differenze sono sempre presenti nei prodotti Microsoft. Un problema simile è il seguente: Outlook 2003 utilizza il motore di Internet Explorer per il rendering di e-mail HTML, mentre Outlook 2007 utilizza il motore di rendering di Word. e-mail HTML che mostra con gli stili corretti e caratteri in Outlook 2003 non mostrerà correttamente in Outlook 2007.

14

La domanda è stato chiesto qualche tempo fa ma sto aggiungendo questo per riferimento:

ho avuto lo stesso problema ed è stato in grado di fare una pagina-break con questo codice

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

l'unico modo ho potuto ottenere a lavoro è stato con l'elemento "BR" e lo stile in linea.

+0

Words great for Word 2007. Questa dovrebbe essere la risposta, IMO. – Amalgovinus

+0

Funziona bene in Word 2016. Grazie per questa soluzione! –

Problemi correlati