IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

ShellExecute sauve un fichier vide problème de syntaxe gs


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 478
    Par défaut ShellExecute sauve un fichier vide problème de syntaxe gs
    Bonjour,
    Je tente de supprimer une page (6) d'un fichier pdf (input.pdf) de 7 pages.
    La commande produit un fichier output.pdf mais vide?!?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(0, 'open', 'cmd.exe', PChar('/c gswin32c -o output.pdf -dFirstPage=1 -dLastPage=5 -dFirstPage=7 -dLastPage=7 -sDEVICE=pdfwrite input.pdf'), NIL, SW_HIDE);
    J'ai essayé plusieurs combinaisons comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(0, 'open', 'cmd.exe', PChar('/c gswin32c -o output.pdf -dFirstPage=0 -dLastPage=4 -dFirstPage=6 -dLastPage=6 -sDEVICE=pdfwrite input.pdf'), NIL, SW_HIDE);
    ... mais pas mieux
    Quelqu'un à une idée?

    D'avance merci pour vos suggestioins
    PhilLU

  2. #2
    Membre chevronné Avatar de der§en
    Homme Profil pro
    Bretagne
    Inscrit en
    Septembre 2005
    Messages
    1 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bretagne
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 111
    Par défaut
    Question basique, si tu exécute en directe ta commande dans un CMD manuellement, cela produit ce que tu attends en sortie ?

  3. #3
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 096
    Par défaut
    Et directement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(0, 'open', 'gswin32c.exe', ('-o output.pdf -dFirstPage=0 -dLastPage=4 -dFirstPage=6 -dLastPage=6 -sDEVICE=pdfwrite input.pdf'), PChar(CheminDeTravail), SW_HIDE);
    si gswin32c est dans le PATH ça aide, sinon faut donner le chemin complet

    Et les paramètres output.pdf et input.pdf, il y a un ordre ?
    je suppose que output.pdf suit -o
    ce n'est pas plutôt -sOutputFile=output.pdf ?

    et CheminDeTravail je lui mettrais un chemin complet, sinon où sont output.pdf et input.pdf ???
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre éclairé
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 478
    Par défaut
    Merci pour vos réponses
    Avec les "" rien ne se passe, sans les guillemets, le fichier output est généré, mais vide

  5. #5
    Membre éclairé
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 478
    Par défaut
    Citation Envoyé par der§en Voir le message
    Question basique, si tu exécute en directe ta commande dans un CMD manuellement, cela produit ce que tu attends en sortie ?
    Merci pour ta suggestion der§en
    à la cmd:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gswin32c -o output.pdf -dFirstPage=0 -dLastPage=4 -dFirstPage=5 -dLastPage=6 -sDEVICE=pdfwrite input.pdf
    j'ai le commentaire suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    GPL Ghostscript 9.21 (2017-03-16)
    Copyright (C) 2017 Artifex Software, Inc.  All rights reserved.
    This software comes with NO WARRANTY: see the file PUBLIC for details.
    Processing pages 5 through 6.
    Page 5
    Loading NimbusSans-Regular font from %rom%Resource/Font/NimbusSans-Regular... 4556892 3027022 2561984 1174823 3 done.
    Loading NimbusSans-Bold font from %rom%Resource/Font/NimbusSans-Bold... 4622780 3195371 2582088 1198522 3 done.
    Page 6
    le fichier output ne contient que la page 5 et 6
    ... mais c'est déjà mieux

    La cmde:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gswin32c -o output.pdf -dFirstPage=1 -dLastPage=4 -sDEVICE=pdfwrite Capillarys2.pdf
    me renvoie les 4 premières pages...

    Comment garder les 4 premières pages et la page 6 (donc supprimer uniquement la page 5)?

    Merci pour votre aide

  6. #6
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 941
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 941
    Par défaut
    Et pourquoi ne pas lire l'aide Ghostscript ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gswin32c -o output.pdf -sPageList=1-4,6 -sDEVICE=pdfwrite Capillarys2.pdf

  7. #7
    Membre éclairé
    Homme Profil pro
    Owner
    Inscrit en
    Décembre 2004
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Owner
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2004
    Messages : 478
    Par défaut
    Merci Andnotor,
    de fait c'est la bonne méthode
    Super merci, j'ai cherché mais pas trouvé dans les notes...
    Très bon dimanche,
    PhilLu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 28/04/2010, 11h05
  2. [AC-2007] Problème de syntaxe champ texte vide
    Par franckimmo dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 19/02/2010, 18h04
  3. ShellExecute [D7] [Win32] [fichier.inf] [syntaxe]
    Par hepha1970 dans le forum Débuter
    Réponses: 4
    Dernier message: 12/11/2009, 20h27
  4. Problème d'exportation de donnée => fichier vide
    Par _FaFa_ dans le forum Outils
    Réponses: 8
    Dernier message: 25/01/2008, 09h57
  5. Problème de syntaxe pour fichier SQL
    Par savior dans le forum SQL
    Réponses: 12
    Dernier message: 13/09/2006, 13h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo