fraserxu / electron-pdf

📄 A command line tool to generate PDF from URL, HTML or Markdown files.
MIT License
1.24k stars 136 forks source link

Produces a blank PDF file via CLI in v7.0.0 #268

Open kristofmulier opened 4 years ago

kristofmulier commented 4 years ago

I'm using electron-pdf in Ubuntu 19.10, installed in the following way:

    $ sudo apt-get upgrade
    $ sudo apt install nodejs
    $ sudo apt install npm
    $ sudo npm install npm@latest -g
    $ sudo npm install electron-pdf -g --unsafe-perm

Now I try to convert an .html document into a .pdf:

$ electron-pdf input.html output.pdf

The result is a blank pdf file.

If I do the same conversion, but with absolute paths, it works:

$ electron-pdf /home/kristof/Documents/invoices/input.html /home/kristof/Documents/invoices/output.pdf

Now I get a nice pdf file, just perfect.

The same issue was already raised long time ago: #173

It seems like it was fixed, but now it emerges again?

Dattish commented 4 years ago

This might be Linux specific, I run into the same problem on my Ubuntu (18.04) installation but it works fine on Windows 10.

edit: doing the following to args.js:urlWithArgs solves it for me, not sure if the maintainer wants that behaviour though.

    var path = require('path');
    ...

    var filePath = path.isAbsolute(urlOrFile) ? urlOrFile : process.cwd() + '/' + urlOrFile
    u = url.format({
      protocol: 'file',
      pathname: url.parse(filePath).pathname,
      search: url.parse(filePath).query,
      slashes: true,
      hash: args || urlData.hash
    })
CortinaCapoeira commented 2 years ago

If you are using the command line tool a quick fix for unix is to use $(pwd): electron-pdf $(pwd)/index.html index.pdf