Pregunta

Estoy considerando usar pdf.js (Una herramienta de código abierto que permite la incrustación de un PDF en una página web). No hay documentación sobre cómo usarlo.

Supongo que lo que hago es hacer una página HTML con el script referenciado en el encabezado, y luego en el cuerpo, pongo algún tipo de llamada de función con una matriz del nombre y ubicación del archivo. ¿Puede alguien ayudarme aquí?

¿Fue útil?

Solución

Prueba Google'ing pdf.js documentation

/* create the PDF document */

var doc = new pdf();
doc.text(20, 20, 'hello, I am PDF.');
doc.text(20, 30, 'i was created in the browser using javascript.');
doc.text(20, 40, 'i can also be created from node.js');

/* Optional - set properties on the document */
doc.setProperties({
  title: 'A sample document created by pdf.js',
  subject: 'PDFs are kinda cool, i guess',        
  author: 'Marak Squires',
  keywords: 'pdf.js, javascript, Marak, Marak Squires',
  creator: 'pdf.js'
});

doc.addPage();
doc.setFontSize(22);
doc.text(20, 20, 'This is a title');
doc.setFontSize(16); 
doc.text(20, 30, 'This is some normal sized text underneath.');

var fileName = "testFile"+new Date().getSeconds()+".pdf";
var pdfAsDataURI = doc.output('datauri', {"fileName":fileName});

NOTA: El proyecto "pdf.js" mencionado aquí es https://github.com/marak/pdf.js, y ha estado en desuso desde que se publicó esta respuesta. La respuesta de @de Treffynnon es sobre el proyecto Mozilla aún activo (https://github.com/mozilla/pdf.js) que la mayoría de los buscadores buscarán.

Otros consejos

Hay documentación disponible en su Readme de Github. Ellos citan el siguiente código de ejemplo:

/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */

//
// See README for overview
//

'use strict';

//
// Fetch the PDF document from the URL using promises
//
PDFJS.getDocument('helloworld.pdf').then(function(pdf) {
  // Using promise to fetch the page
  pdf.getPage(1).then(function(page) {
    var scale = 1.5;
    var viewport = page.getViewport(scale);

    //
    // Prepare canvas using PDF page dimensions
    //
    var canvas = document.getElementById('the-canvas');
    var context = canvas.getContext('2d');
    canvas.height = viewport.height;
    canvas.width = viewport.width;

    //
    // Render PDF page into canvas context
    //
    var renderContext = {
      canvasContext: context,
      viewport: viewport
    };
    page.render(renderContext);
  });
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top