2011-04-18 25 views
5

que utilizan estos ajusteswicked_pdf y emisión tamaño de página wkhtmltopdf

WickedPdf::config = { 
    :layout   => 'application.pdf.html', # use 'pdf.html' for a pfd.html.erb file 
    :wkhtmltopdf  => '/bin/wkhtmltopdf', # path to binary 
    :orientation  => 'Portrait', # default , Landscape 
    :page_size  => 'A4', 
    :dpi    => '300', 
    :print_media_type => true, 
    :no_background => true, 
    :margin   => {:top => 0, # default 10 (mm) 
          :bottom => 0, 
          :left => 0, 
          :right => 0}, 

} 

y establecer el tipo de carrocería a

body { 
    margin: 0; 
    padding: 0; 
    background-color: #FFF; 
    width: 210mm; 
    height: 297mm; 
} 

y un div de clase .página

.page { 
    display: inline-block; 
    clear: both; 
    border: 2px solid #FF0000; 
    width: 210mm; 
    height: 297mm; 
    page-break-after: auto; 
} 

pero cuando el pdf se crea, los .page divs son casi la mitad de la página pdf.

+0

Creo que es mejor que especifique unidades que no sean de milímetros. No creo que la báscula funcione de manera confiable. La página tiene un tamaño fijo, por lo que debería poder ajustarla a su gusto con píxeles o porcentajes. – Unixmonkey

+2

También probé px, in,%, pero nada resuelve el problema. –

Respuesta

1

trate de poner en su css

@media print 
    { .page { 
    display: inline-block; 
    clear: both; 
    border: 2px solid #FF0000; 
    width: 210mm; 
    height: 297mm; 
    page-break-after: auto; 
} 
} 

También asegúrese de agregar media="all" si se hace referencia de estilo externa:

<link href="/stylesheets/scaffold.css?1304060088" 
     media="all" rel="stylesheet" type="text/css"> 
3

Si estás flotando su contenedor de la página, entonces no va a trabajar . Tuve exactamente el mismo problema y una vez eliminé el pro flotante.

Así que el contenedor de la página debe ser:

.page { 
display: block; 
clear: both; 
border: 2px solid #FF0000; 
page-break-after: auto;} 

Debido a que el inline-block es igual flotante que fue.

+0

'Porque el bloque en línea es como flotar, se fue.' esto me ahorra mucho tiempo: D, gracias. – Thanh

+0

Aquí, hablando desde el futuro =), bueno, gracias. Esto solo funciona cuando Portrait, ¿puedes hacerlo usando Landscape? ¿Qué necesito agregar? –