用于打开不在电子中工作的pdf文件的参数

时间:2018-05-15 12:06:47

标签: electron

我试图通过使用参数来控制pdf的打开方式来打开iframe中的pdf文件。它们在网站上运行良好,但它们似乎不适用于电子:pdf在iframe内部打开,但是,'view = fitH'指定的缩放级别似乎不适用于电子。有没有办法让参数在电子中工作?这是我正在使用的代码。

<iframe src='./res/test.pdf#page=1&toolbar=0&statusbar=0&messages=0&navpanes=0&scrollbar=0&view=fitH' frameborder="0" style="width:72.5%;height:95%;position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"></iframe>

更新

我会尝试提供我正在尝试做的更多细节。我正在从macOS Sierra构建应用程序,最终目标是拥有一个Windows本地应用程序,可以在没有互联网连接时使用而不是在线应用程序。我使用以下命令来构建应用程序:

electron-packager ./ --platform=all --arch=all --overwrite --asar

但是,pdf不适合iframe的宽度,而是缩小,如下图所示:

The actual result - you can see that the pdf is zoomed out a lot

我将尝试从Windows构建应用程序,看看是否能解决问题。

2 个答案:

答案 0 :(得分:0)

我认为这与浏览器中的工作方式相同

main.js

const {app, BrowserWindow} = require('electron')

app.once('ready', () => {
  let win = new BrowserWindow({
    webPreferences: {
      plugins: true
    }
  })
  win.loadURL(`${__dirname}/pdfargs.html`)
})

pdfargs.html

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title>Page Title</title>
</head>
<body>
  <iframe src='./res/test.pdf#page=1&toolbar=0&statusbar=0&messages=0&navpanes=0&scrollbar=0&view=fitH' frameborder="0" style="width:72.5%;height:95%;position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"></iframe>
</body>
</html>

答案 1 :(得分:0)

我发现了问题所在。我违反了规则:

  

Individual parameters, together with their values (separated by & or #), can be no greater then 32 characters in length.

我现在正在使用page=1&toolbar=0&view=fitH,它现在就像预期的那样。

我不知道为什么它在浏览器中工作,即使我使用超过32个字符,但我想每个规则都有例外。