Использование 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()])
Это работало как очарование.
Теперь для разработки еще больше того, что я пытался сделать. Поскольку мы знаем, что существует экспорт проблемы в PDF в Ubuntu при заполнении форм Adobe. Можно только экспортировать в PS, затем преобразовывают через ps2pdf. Затем для тех из нас, кто хочет чистый файл, мы должны использовать exiftool. Ниже сценарий в качестве примера для обработки всего этого, включая удаление _original файла, созданного exiftool при работе над тем же файлом с тем же именем в том же dir
, мне нравится то, что можно наблюдать, что он работает в наутилусе. Я не сделал попытки с помощью event.wait для этого, не было абсолютно уверено, как реализовать, но также и хотел позволить времени для жесткого диска выполняться (быть дополнительным осторожный). - Помнят, это требует, чтобы все зависимости pyperclip были установлены. Я связал этот сценарий с сочетанием клавиш, и может теперь Ctrl +c .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())
я надеюсь, что это помогает всем остальным так, как это сделало меня!