Python Pyperclip arquivo PS para o mesmo diretório usando ps2pdf

0

Usando o Ubuntu 14.04 e o Python 3.6

Atualmente eu tenho pyperclip instalado, funciona muito bem ao criar atalhos para abrir arquivos em programas específicos. Eu simplesmente copio o arquivo para a área de transferência e abro com a tecla de atalho do aplicativo especificado.

Eu gostaria de fazer o mesmo com ps2pdf, exceto adicionar .pdf ao arquivo de destino, no mesmo diretório. Não importa o que eu tente, ele continua criando um pdf no meu diretório pessoal. A sintaxe correta para 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])

Eu tentei algumas variações e variáveis diferentes, mas não quero listar todas elas aqui. Apenas mostra um exemplo do que mais eu tentei.

Qualquer ajuda seria apreciada.

Obrigado

    
por Seek Truth 07.05.2017 / 18:41

1 resposta

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

os.chdir("/DirectoryPathOfFile")

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

Isso funcionou como um encanto.

Agora, para elaborar ainda mais do que eu estava tentando fazer. Como sabemos, existe um problema ao exportar para PDF no Ubuntu ao preencher formulários da Adobe. Você só pode exportar para PS, em seguida, converter via ps2pdf. Então, para aqueles de nós que querem um arquivo limpo, devemos usar o exiftool. Abaixo está um script de exemplo para lidar com tudo, incluindo a remoção do arquivo _original criado por exiftool ao trabalhar no mesmo arquivo com o mesmo nome no mesmo diretório.

Eu gosto do fato de que você pode assistir ao trabalho no nautilus. Eu não tentei usar event.wait para isso, não tinha certeza de como implementar, mas também queria dar tempo para que o disco rígido fosse executado (sendo mais cauteloso). - Lembre-se, isso requer que todas as dependências do pyperclip sejam instaladas. Eu vinculei esse script a uma tecla de atalho e agora posso Ctrl + c o arquivo .ps no nautilus e (tecla de atalho do script) para que o script faça o resto.

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

Espero que isso ajude todos os outros tanto quanto eu!

    
por Seek Truth 07.06.2017 / 17:38