使用 ps2pdf 将 Python Pyperclip PS 文件传输到同一目录

使用 ps2pdf 将 Python Pyperclip PS 文件传输到同一目录

使用 Ubuntu 14.04 和 Python 3.6

我目前已安装 pyperclip,在创建用于在特定程序中打开文件的快捷方式时效果很好。我只需将文件复制到剪贴板,然后使用指定的应用程序快捷键打开即可。

我想对 ps2pdf 做同样的事情,但要将 .pdf 添加到同一目录中的目标文件。无论我怎么尝试,它都会在我的主目录中创建一个 pdf。ps2pdf 的正确语法是:ps2pdf Original_file.ps Destination_file.pdf

#!/usr/bin/env python3
import subprocess
import pyperclip

first = pyperclip.paste()

#text =`echo "$first" | cut -d'.' -f1`

text = first.substr(0, first.lastIndexOf(".")) + ".pdf";

subprocess.Popen(["ps2pdf", pyperclip.paste() " " text])

我尝试过很多不同的变体和变量,但我不想在这里全部列出。仅显示我尝试过的其他方法的一个例子。

任何帮助,将不胜感激。

谢谢

答案1

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

os.chdir("/DirectoryPathOfFile")

subprocess.Popen(["ps2pdf", pyperclip.paste()])

这非常有效。

现在进一步阐述我试图做的事情。众所周知,在 Ubuntu 中填写 Adob​​e 表单时导出为 PDF 时会出现问题。您只能导出到 PS,然后通过 ps2pdf 进行转换。然后,对于那些想要干净文件的人来说,我们必须使用 exiftool。下面是一个处理所有问题的示例脚本,包括在同一目录中处理同名的同一文件时删除 exiftool 创建的 _original 文件。

我喜欢你可以在 nautilus 中观察它的工作情况。我没有尝试使用 event.wait 来实现这一点,并不完全确定如何实现,但也想留出时间让硬盘驱动器执行(格外谨慎)。- 请记住,这需要安装 pyperclip 的所有依赖项。我将此脚本链接到快捷键,现在可以按 Ctrl +c 组合键访问 nautilus 中的 .ps 文件(脚本快捷键),这样脚本就可以完成剩下的工作了。

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

os.chdir("/DirectoryPathOfFile")

subprocess.Popen(["ps2pdf", pyperclip.paste()])

time.sleep(3)

new1 = os.path.splitext(pyperclip.paste())[0]+".pdf"

subprocess.Popen(["exiftool", "-all:all=", new1])

time.sleep(3)

new2 = os.path.splitext(pyperclip.paste())[0]+".pdf_original"

os.remove(new2)

#optionally remove original .ps file as well
#os.remove(pyperclip.paste())

我希望这对其他人也有同样的帮助!

相关内容