Python Pyperclip PS файл в тот же каталог, используя ps2pdf

Использование 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])

Я пробовал несколько разных вариантов и переменных, но я не хочу перечислять их все здесь.

Любая помощь была бы оценена.

Спасибо

0
задан 7 May 2017 в 19:41

3 ответа

#!/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 при работе над тем же файлом с тем же именем в одном каталоге.

Мне нравится, что вы можете смотреть, как он работает в наутилусе , Я не пытался использовать event.wait для этого, не был полностью уверен, как реализовать, но также хотел, чтобы время для жесткого диска выполнялось (будучи более осторожным). - Помните, для этого требуются все зависимости pypclclip. Я связал этот скрипт с ярлыком и теперь Ctrl + c .ps-файл в nautilus и (клавиша быстрого доступа к скрипту), поэтому сценарий делает все остальное.

#!/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())

Надеюсь, это поможет всем остальным как так же, как и я!

0
ответ дан 22 May 2018 в 22:50
#!/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 при работе над тем же файлом с тем же именем в одном каталоге.

Мне нравится, что вы можете смотреть, как он работает в наутилусе , Я не пытался использовать event.wait для этого, не был полностью уверен, как реализовать, но также хотел, чтобы время для жесткого диска выполнялось (будучи более осторожным). - Помните, для этого требуются все зависимости pypclclip. Я связал этот скрипт с ярлыком и теперь Ctrl + c .ps-файл в nautilus и (клавиша быстрого доступа к скрипту), поэтому сценарий делает все остальное.

#!/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())

Надеюсь, это поможет всем остальным как так же, как и я!

0
ответ дан 18 July 2018 в 13:40
#!/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 при работе над тем же файлом с тем же именем в одном каталоге.

Мне нравится, что вы можете смотреть, как он работает в наутилусе , Я не пытался использовать event.wait для этого, не был полностью уверен, как реализовать, но также хотел, чтобы время для жесткого диска выполнялось (будучи более осторожным). - Помните, для этого требуются все зависимости pypclclip. Я связал этот скрипт с ярлыком и теперь Ctrl + c .ps-файл в nautilus и (клавиша быстрого доступа к скрипту), поэтому сценарий делает все остальное.

#!/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())

Надеюсь, это поможет всем остальным как так же, как и я!

0
ответ дан 24 July 2018 в 20:14

Другие вопросы по тегам:

Похожие вопросы: