2011-12-06 10 views
11

La mia squadra lavora in un progetto usando asp.net mvc3 (C#). In base ai requisiti del progetto, è necessario implementare l'interruzione di pagina come Microsoft Word. Ho bisogno di salvare il pagebreak e la dimensione della pagina può essere a4, lettera, legale, ecc.Inserimento dinamico di Pagebreak

E 'possibile controllare le dimensioni della pagina del contenuto nel ckeditor e inserire le interruzioni di pagina mostrate all'interno dell'editor quando attraversa un certa altezza o dimensione, allo stesso modo in cui funziona in MS Word>

Esiste una soluzione alternativa?

+0

In quale formato vengono salvati i contenuti di CKEditor? per quanto ne so, HTML non supporta le interruzioni di pagina, quindi non hai modo fino a quando non stai facendo qualche risparmio in formato word, pdf o un altro formato che supporta le interruzioni di pagina, dai uno sguardo alle specifiche RTF: http://www.biblioscape.com/ rtf15_spec.htm –

risposta

7

soluzione alternativa che ho trovato dopo una ricerca su Google per risolvere pagebreak utilizzando RichTextBoxSilverlight

alcune delle caratteristiche

  • RichTextBox supporta pienamente il paging e la stampa. È possibile modificare i documenti nella vista Layout di stampa o Bozza; molto simile a Microsoft Word. Layout di stampa supporta il flusso di pagine continuo durante lo scorrimento e supporta anche il confronto di più pagine orizzontalmente.

  • RichTextBox supporta l'importazione e l'esportazione di testo RTF, Html e semplice . Carica il testo RTF o Html esistente nel controllo C1RichTextBox, modifica il documento, quindi esporta nuovamente in formato RTF o Html.

  • Modificare e formattare il testo contenente più font, decorazioni, colori, tabelle, immagini, elenchi e altro.

  • RichTextBoxToolbar include i seguenti comandi: pasta, tagliare, copiare, Annulla, Ripeti, Font familiari, Dimensione carattere, Grow Font, Shrink font, grassetto, Corsivo, Sottolineato, Change Case, pedice, apice, Colore testo , Testo Evidenzia colore, Allinea a sinistra, Allinea al centro, Allinea a destra, Giustifica, Punti elenco, Numerazione, Avvolgimento testo, Spessore bordo, Colore bordo, Paragrafo Colore, Margine, Riempimento, Inserisci immagine, Inserisci simbolo, Inserisci Collegamento ipertestuale, Rimuovi Collegamento ipertestuale, Trova e sostituisci, Controllo ortografico e comandi aggiuntivi per l'inserimento/modifica di tabelle.

  • RichTextBox per l'inserimento e la modifica delle immagini. Gli utenti possono facilmente caricare le immagini dal loro computer nell'editor o puntare all'URL dell'immagine sul web. Gli utenti possono anche selezionare, ridimensionare e trascinare le immagini sulla superficie del documento.

  • RichTextBox supporta lo zoom di pagina in entrambe le viste di layout di stampa e bozza .

  • Il contenuto di RichTextBox può essere esportato in formato PDF.

  • Modifica i dati nel RichTextBox con sicurezza. Ora hai l'abilità di annullare e ripristinare facilmente le tue modifiche con un clic di un pulsante .

1

Si potrebbe provare a utilizzare CSS2 page-break-before e page-break-after, anche se come e dove si inseriscono dinamicamente è un'altra questione.

5

Come dice graphicdivine, utilizzare la stampa CSS per realizzare ciò che è necessario fare. Creare una classe css che abbia una definizione page-break-before e aggiungere dinamicamente quella classe al primo elemento della pagina dopo l'interruzione.

Si potrebbe anche fare qualcosa di simile:

br.pageBreak { 
    page-break-after: always; 
} 

e quindi inserire un <br class="pageBreak" /> nel punto in cui avete bisogno di un'interruzione di pagina.

Maggiori informazioni:

Pagina-break: http://www.w3.org/TR/css-print/#s.8.2

dimensioni Pagina: http://www.w3.org/TR/css-print/#s.8.3

Un vecchio A List Apart articolo: http://www.alistapart.com/articles/goingtoprint/

Purtroppo, non so se è possibile per modificare CKEditor in questo modo senza problemi.

+0

CKEditor ha già un pulsante che inserisce

 
ma dubito che questo sia ciò che desidera. – AlfonsoML

+0

Ho bisogno di implementare l'interruzione di pagina in modo dinamico non facendo clic su un pulsante nell'editor – amexn

+0

Per quanto ne so, la soluzione di atornblad è buona come quella di HTML. Le interruzioni di pagina sono un enorme PITA in HTML, ma questa soluzione funziona. La domanda è ... può il tuo utente dirti quale dimensione vuole la pagina prima di stampare (ad esempio A4, ecc.) E se è così, allora hai una soluzione praticabile. Se non lo sai in anticipo, allora sei sfortunato. –