2009-06-04 15 views
14

Dove sto sbagliando?Come impostare i margini 0 sull'anteprima di stampa?

Questa è la normale anteprima di stampa: this is the first picture

Ma io voglio vedere questa foto (senza trascinare le frecce di margine) alt text

Questo è il codice css e anteprima:

alt text

+0

Circa @ Page 1: http://www.w3.org/TR/CSS2/page.html#x3 2: http://www.belgeler.org/recs/css2/ page.html – uzay95

risposta

11

Il meglio che puoi fare è impostare @page margins. Tieni presente, tuttavia, che è possibile e molto probabilmente verrà annullato se imposti i margini su 0.

+0

Significa che devi semplicemente fare qualcosa del genere? '@page {margin: 1in; } ' –

0

Non credo sia effettivamente possibile farlo, perché si annullerebbero i valori predefiniti dell'utente computer. Per quanto ne so, un'applicazione web non ha i diritti di accesso per modificare qualcosa come le impostazioni della stampante senza alcun tipo di script ActiveX in IE.

Ho avuto un problema simile qualche tempo fa, e ho finito per dover generare un PDF al volo usando TCPDF. Alla fine ha funzionato meglio, perché hai un maggiore controllo sul layout.

13

Sì. È possibile modificare i margini in una stampa della pagina. La regola sarà simile a:

@page { 
    margin: 0; 
} 

Questo non funzionerà in Firefox a partire da ora. Se controlli il riferimento dello sviluppatore su @page CSS support, puoi vedere quali browser supportano @page.

0

Non riesco ad aggiornare un computer da Windows XP a qualcosa di più recente, quindi in pratica sono bloccato con IE8.

Ho trovato che su IE8 i margini di pagina corrispondono sempre a di 6,01 mm a sinistra ea destra e 5 mm in alto e in basso. Indipendentemente da ciò che faccio, anche usando @ in alto a sinistra le regole di destra e centro all'interno della regola @page, continuerà a essere impostato sui valori precedenti.

Potrebbe essere più semplice creare il foglio di stile per prendere in considerazione questa limitazione sulle dimensioni di stampa.

Può anche aiutare a mettere l'IE hack \ 9 davanti al valore della proprietà della classe CSS, la duplicazione della proprietà può anche aiutare in alcuni casi, (ma non influisce sui margini della pagina), come ad esempio:

.aDiv { 
    margin: 10mm; 
    margin: 15mm\9;  //this \9 hack will set that value only on IE8. 
} 

so che ci sono altri hack simile a questa, come ad esempio \ 0 ma ammetto non li comprendere appieno. \ 9 funziona per me in IE8 in alcune situazioni.

1

Grazie! funziona bene su Chrome

@page { 
    margin: 0; 
} 
Problemi correlati