Búsqueda de sitios web

javascript - ¿Cómo imprimir un documento de pdf.js?


He generado un documento con pdf.js y se muestra correctamente. No tengo botón de imprimir. ¿Cómo añadir el botón para permitir a los usuarios imprimirlo? Estaba usando Chrome.

Respuesta #1

Intenta usar la función de JavaScript window.print();, que abre el cuadro de diálogo de impresión.

Tendrás que agregar un botón a tu HTML, que active el comando; no es posible hacerlo dentro del PDF.

Por esta razón, necesitarás un iFrame y usar algo como esto:

function printIt() {
    var wnd = window.open('http://your-pdf-url');
    wnd.print();
}

<input type="button" value="Print" onclick=printIt()>

window.print() no funcionaría, porque también imprimiría el HTML circundante.

EDITAR:

Por tu comentario, ahora sé que quieres imprimir el contenido de un elemento canvas, lo cual es mucho más fácil.

No necesitas un iframe, puedes poner el botón en la misma página y usar window.print();.

Para imprimir solo el elemento canvas y ocultar los alrededores (como el botón), puedes usar la sintaxis CSS así:

@media print
{    
    .no-print, .no-print *
    {
        display: none !important;
    }
}

@media print especifica código CSS, que solo se aplica a una página web si se imprime. Si ahora asignas la clase .no-print a todo excepto al elemento canvas, solo se imprimirá tu PDF.

También puedes usar este código CSS, si es más fácil:

@media print
{    
    *
    {
        display: none;
    }
    canvas 
    {
        display: inline;
    }
}

Respuesta #2

Si quieres mantener todo en orden y modificar jQuery lo menos posible, puedes intentar algo como:

<a href="#PATH_TO_PDF.pdf" target="_blank"  onclick="window.print()"> print PDF </a>