Juvenik
Juvenik

Reputation: 950

PDF Js does not work in meteor

I am using Mozilla pdf js in meteor. The package I am using is from "https://atmospherejs.com/pascoual/pdfjs" I am doing almost everything that they have stated in their example, but my pdf file is delivered as a image file. It is not getting displayed as shown in their example "https://mozilla.github.io/pdf.js/web/viewer.html".

Please let me know what have I done wrong. My code is as follows:

<template name="displayResume">
    <canvas id="pdfcanvas"></canvas>
</template>

Template.displayResume.rendered = function(){
    PDFJS.workerSrc = '/packages/pascoual_pdfjs/build/pdf.worker.js';
    console.log(PDFJS)
    //PDFJS.workerSrc = '/.meteor/local/build/programs/web.browser/packages/pascoual_pdfjs/build/pdf.worker.js';
    var url = '/Lez6dci9xoaiyWuzR.pdf';
    PDFJS.getDocument(url).then(function getPdfHelloWorld(pdf) {
        // Fetch the first page
        pdf.getPage(1).then(function getPageHelloWorld(page) {
            var scale = 1;
            var viewport = page.getViewport(scale);

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

            // Render PDF page into canvas context
            page.render({canvasContext: context, viewport: viewport}).promise.then(function () {
                console.log('rendered');
            });
        });
    });
}

I am just trying to display resume from my public folder as of now. Later, I will have to display file from amazon aws.

Thanks in advance

Upvotes: 11

Views: 1137

Answers (1)

Clint
Clint

Reputation: 156

they had a pageviewer example here:

https://github.com/mozilla/pdf.js/blob/master/examples/components/pageviewer.js

I think the line you are looking for is:

textLayerFactory: new PDFJS.DefaultTextLayerFactory(),

Upvotes: 1

Related Questions