Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compression pdf

pdf

14 mai 2021 à 15:06:17

Bonjour,

J'essaye de créer un programme qui compresse des fichiers pdf situés dans des dossiers des sousdossiers,etc en uttilisant ghostscript.
Or je souhaite que une fois le fichier compressé, ce dernier soit supprimé j'ai essayé plusieurs méthodes mais aucune ne marche

from __future__ import print_function
import os
import subprocess

def compression():
    for dirpath, dirs, files in os.walk('.'):
        for filename in files:
            fname = os.path.join(dirpath,filename)
            if fname.endswith('.pdf'):
                print(f"{'-'*50}\npath:{dirpath}\nfichier_avant :{filename}") # juste pour le debug
                arg1= os.path.splitext(fname)[0] + '_.pdf' # rajoute un '_' avant le .pdf pour montrer que ce denrier est compréssé
                p = subprocess.Popen(['/usr/bin/gs', '-sDEVICE=pdfwrite', '-dCompatibilityLevel=1.4', '-dPDFSETTINGS=/default', '-dNOPAUSE', '-dBATCH',  '-dQUIET',f'-sOutputFile={arg1}', fname])

Donc là tout fonctionne, or si je rajoute:

from __future__ import print_function
import os
import subprocess

def compression():
    for dirpath, dirs, files in os.walk('.'):
        for filename in files:
            fname = os.path.join(dirpath,filename)
            if fname.endswith('.pdf'):
                print(f"{'-'*50}\npath:{dirpath}\nfichier_avant :{filename}")
                arg1= os.path.splitext(fname)[0] + '_.pdf'
                p = subprocess.Popen(['/usr/bin/gs', '-sDEVICE=pdfwrite', '-dCompatibilityLevel=1.4', '-dPDFSETTINGS=/default', '-dNOPAUSE', '-dBATCH',  '-dQUIET',f'-sOutputFile={arg1}', fname])
                if os.path.exists(fname):
                    os.remove(fname)
                else:
                    print(0)

Rien ne fonctionne :/ c'est à dire que les fichiers compressés sont vide

Voila tout

Merci d'une future réponse


-
Edité par oscarmar 14 mai 2021 à 15:07:29

  • Partager sur Facebook
  • Partager sur Twitter