【问题标题】:Can't open PDF files in Electron无法在 Electron 中打开 PDF 文件
【发布时间】:2021-11-24 16:28:45
【问题描述】:

我按照相关问题答案中的建议,即指定

webPreferences: {
      plugins: true
}

作为创建 BrowserWindow 实例时的选项的一部分,但它根本不起作用。每当我尝试在电子中加载/打开/查看 PDF 文件时,我得到的只是这个屏幕截图中的空/损坏的铬 PDF 查看器:

根据我的package.json,我的电子版本是“^13.1.2”,这是我的main.js

// main.js

// Modules to control application life and create native browser window
const { app, BrowserWindow } = require('electron')
const path = require('path')

function createWindow () {
  // Create the browser window.
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      plugins: true
    }
  });

  // and load the index.html of the app.
  win.loadFile('test.pdf');
}

app.whenReady().then(() => {
  createWindow()
})

app.on('window-all-closed', function () {
      app.quit()
})

谁能告诉我我做错了什么?

【问题讨论】:

  • 上次我检查,Electron 不支持原生打开 pdf 文件了
  • 我相信pdf查看器现在已启用,但是在更高版本中存在一些无法使用的错误。你可以试试降级

标签: javascript node.js pdf electron chromium


【解决方案1】:

电子的升级帮助了我。我从 13.x 切换到 16.x,现在可以使用了

【讨论】:

    【解决方案2】:

    使用 PDFWindow 包

    `//main.js

    app.on('准备好了', () => { const win = new PDFWindow({ 宽度:800, 身高:600 })

    win.loadURL('test.pdf') })

    //package.json

    “依赖”:{ “电子pdf窗口”:“^1.0.12”, },

    `

    【讨论】:

    • 谢谢,但我不想引入对某些 3rd-party 包的依赖,以获得应该包含在框架中的功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多