自动打开生成的pdf文件

自动打开生成的pdf文件

我的应用程序生成 pdf 文件并写入某个文件夹。是否有任何设置可以在生成时自动打开它?

答案1

有些应用程序可以打开刚创建的文件,但如果没有:

假设您的临时目录是一个“平面”目录(没有.pdf子目录中的文件)不包含数千个文件(因为它是一个temp目录),那么小型后台脚本将完成这项工作。

它监视目录并打开新的 .pdf使用默认应用程序打开pdf文件。

如何使用:

  1. 将以下脚本复制到一个空文件中,并将其另存为open_newpdf.py
  2. 在脚本的头部,设置目录的路径
  3. 从终端窗口测试运行它,输入命令:

    python3 /path/to/open_newpdf.py
    

    .pdf在您的目录中创建一个新文件,它应该在 3 秒内打开。

  4. 如果一切正常,请将其添加到启动应用程序中:Dash > 启动应用程序 > 添加

剧本

#!/usr/bin/env python3
import os
import time
import subprocess

#--- set the absolute path to your directory below
dr = "/home/jacob/Bureaublad/test"
#---

ls1 = os.listdir(dr)
while True:
    time.sleep(3)
    ls2 = os.listdir(dr)
    for item in ls2:
        if all([not item in ls1, item.endswith(".pdf")]):
            subprocess.Popen(["xdg-open", dr+"/"+item])
    ls1 = ls2

答案2

创建包装脚本watch_pdf

#!/bin/bash
FILE="$1"
if [ "${FILE##*.}" = "pdf" ]
then
echo "$2/$1"
    xdg-open "$2/$1"
fi
exit 0

使其可执行:

chmod +x <path_of_watch_pdf>

查看你的文件夹:

inoticoming <your_tmp_folder> <path_of_watch_pdf> {} <your_tmp_folder> \;

答案3

还有一种更简单的替代方法。如果您有一个生成 PDF 文件的脚本,那么您还可以让它在每次创建名为 的 PDF 文件时运行以下命令file.pdf

xdg-open file.pdf

这将使用设置为处理 PDF 文件的默认应用程序打开该文件。

相关内容