electron开发pdf合并工具(二)

2019-10-24 15:39:39 浏览数 (1)

本文目录:

前言代码实现构建打包实际效果遗留问题一番今日

前言

之前我们做了一个简单的界面,但其实并没有什么功能,今天我们基于前段时间一直在学习的vue相关知识,来实现一些后台逻辑。

代码实现

  • nodejs调用python:这里我们在按钮中去调用了python程序。
  • 需要注意的是,所有程序运行的主目录都是当前工程的根目录。
代码语言:javascript复制
<template>
  <div id="wrapper" align="center">
    <img id="logo" src="~@/assets/logo_efonmark.png" alt="electron-vue" align="center">
    <div align="center">
      <h1> Welcome to EfonMark!</h1>
    </div>

    <div align="center">
      <el-input id="input01"
        type="textarea"
        :autosize="{ minRows: 10, maxRows: 40}"
        placeholder="请选择文件"
        v-model="textarea">
      </el-input>
    </div>

    <div align="center">
      <el-button type="primary" v-on:click="openFile()" round>选择文件</el-button>
      <el-button type="primary" v-on:click="pdfmerge()" round>开始合并</el-button>
      <input type="file" id="filename" style="display:none" multiple="multiple" @change="showRealPath"/>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      textarea: '',
      paths: ''
    }
  },
  methods: {
    openFile: function () {
      document.getElementById('filename').click()
    },
    showRealPath: function () {
      var files = document.getElementById('filename').files
      for (var i = 0; i < files.length; i  ) {
        this.paths  = (files[i].path   'n')
      }
      document.getElementById('input01').value = this.paths
      // alert(paths)
    },
    pdfmerge: function () {
      const fs = require('fs')
      fs.writeFileSync('filepaths.txt', this.paths)
      require('child_process').spawn('python py/gzh.py', {
        stdio: 'inherit',
        shell: process.platform === 'win32'
      })

      this.$message({
        message: '已完成',
        type: 'success'
      })
    }
  }
}
</script>

构建打包

我们创建vue-electron工程的时候,有自动生成一个package.json的文件,这个文件是一些构建脚本。

其中"build": "node .electron-vue/build.js && electron-builder",这一条便可以实现我们的工程打包成可执行exe文件。

构建完成后,我们在build目录下可以找到该可执行文件。双击即可安装。

安装完成后,可以执行文件在C:UsersefonfAppDataLocalProgramsefonmark目录下。

实际效果

遗留问题

  • python读取pdf失败
  • 打包安装后调用python没有成功
  • python日志无法查看
  • 菜单栏需要添加

一番今日

今天又是四点多起来做实验,忘记了实验概念,六点半了发现文章还没有开始写,赶紧把文章写了。

每天这样日更方式还是不能保证充足休息,以后一番打算每周末的时候花一天时间把以周的文章全部准备好,每天只需要写“一番今日”这一栏。这样每天日更会轻松不少,也能保证足够的睡眠。

0 人点赞