2014-06-12 12 views
5

Utilizzo gli strumenti di sviluppo di Office per Visual Studio 2013 in C#. Fin da Word 2007, l'aggiunta di un carattere "\ n" aggiunge un'interruzione di paragrafo (che aggiunge più spazio dell'interruzione di riga in Word). Come posso aggiungere un'interruzione di riga a un documento? Ho provato "\ n", "\ r" e "\ r \ n" che sembrano aggiungere un'interruzione di paragrafo.Inserimento di un'interruzione di riga (non un'interruzione di paragrafo) programmaticamente in un documento di Word

risposta

12

Si scopre che Word utilizza le Tabulazioni verticali per le interruzioni di riga. Sono stato in grado di aggiungerli usando il carattere "\ v" agli intervalli. Vedi What is a vertical tab? per maggiori dettagli.

2

Word utilizza i caratteri Unicode "Separatore di riga" e "Separatore di paragrafo", con i codepoint 2028 e 2029, rispettivamente, per rappresentare i rispettivi tipi di interruzioni.

Utilizzare il carattere Unicode "Separatore di riga", espresso in C# come '\u2028'. Utilizzalo in combinazione con il carattere di nuova riga \n.

+0

Bella scoperta! Non sapevo che esistessero –

+0

Grazie per la rapida risposta. Sfortunatamente, quando uso '\ u2028', aggiunge spazio alla linea esistente, ma non si sposta alla riga successiva. Stranamente, la stessa cosa accade con "\ u2029". – user3731528

+0

@ user3731528 Ho aggiornato la risposta. Credo che tu abbia bisogno di "apple \ u2028 \ nbanana" 'metterà una linea interrotta tra mela e banana, e' "mela \ u2029 \ nbanana" 'inserirà un'interruzione di paragrafo. –

1

Questo funziona per me: stringBuilder.Append ("< w: br/>");

+0

i test non funziona correttamente – ShahinFasihi

2

ho cercato di utilizzare una serie di elementi quali:

  • </br>
  • \n\r
  • \u2028\n
  • <w:br/>

che non funzionano, ma quando semplicemente sostituire carattere desiderato con <br/> funziona v bene!

Devo dire che uso VS2013 e MS Office2016.