Notoriously Punctual Manatee

    pdf
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/pdf package

    0.1.0 • Public • Published

    pdf.js - create basic pdf files in the browser or node.js, simple as cake

    ### online demo @ http://maraksquires.com/pdf.js/ ## USAGE ### browser -
      <script src = "./lib/pdf.js" type = "text/javascript"></script>
      <script>
    
        /* 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});
    
        /* inject the pdf into the browser */
    
          // inject using an iframe
          // this seems to work in FF but not Chrome? try testing some more on your own >.<
          //$('#theFrame').attr('src',pdfAsDataURI);
    
          // inject using an object tag
          // doesnt really work but it does something interesting
          //$('body').append('<object data="'+pdfAsDataURI+'" type="application/pdf"></object>');
    
          // inject changing document.location
          // doesn't work in FF, kinda works in Chrome. this method is a bit brutal as the user sees a huge URL
          // document.location = pdfAsDataURI;
    
          // create a link
          // this seems to always work, except clicking the link destroys my FF instantly 
          $('#pdfLink').html('<a href = "'+pdfAsDataURI+'">'+fileName+'</a> <span class = "helper">right click and save file as pdf</span');
    
      </script>
    

    node.js -

      var sys = require('sys');
      var fs = require('fs');
      var pdf = require('./lib/pdf').pdf;
    
      /* create the PDF document */
    
      var doc = new pdf();
      doc.text(20, 20, 'hello, I am PDF.');
      doc.text(20, 30, 'i was created using node.js version: ' + process.version);
      doc.text(20, 40, 'i can also be created from the browser');
    
      /* 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";
    
      fs.writeFile(fileName, doc.output(), function(err, data){
        sys.puts(fileName +' was created! great success!');
      });
    

    Authors

    Marak Squires and Matthew Bergman

    Heavily inspired by James Hall's jsPDF

    Keywords

    none

    Install

    npm i pdf

    DownloadsWeekly Downloads

    1,405

    Version

    0.1.0

    License

    none

    Last publish

    Collaborators

    • marak