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

Langage PHP Discussion :

[Système] Imprimer un .doc sur le serveur


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 11
    Points
    11
    Par défaut [Système] Imprimer un .doc sur le serveur
    Bonjour à tous,

    Je souhaite imprimer un fichier word (.doc) sur le serveur. J'ai cherché dans la doc php et via google mais je n'ai rien trouvé à part printer_write. Cette fonction prend en paramètre une chaîne de caractères et non pas un fichier.

    Existe-t-il une autre fonction qui me permettrai d'imprimer mes .doc ?

    Merci d'avance,

    NiKo.


    PS : je veux imprimer avec PDFCreator.
    PHP Server V411

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux essayer de lancer l'impression en ligne de commande.

  3. #3
    Inscrit
    Avatar de Caerbannog
    Inscrit en
    Novembre 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 206
    Points : 273
    Points
    273
    Par défaut
    sabotage a raison, il te faut lancer un autre programme avec php, par le biais de la fonction exec() par exemple.
    Sous windows, utilise la commande PRINT.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Salut,

    Merci pour vos réponses, c'est en effet ce vers quoi je me suis dirigé.
    PDFCreator fourni des scripts permettent de convertir des fichiers en pdf.

    J'utilise un JScript que j'execute grace à un .bat, Ca fonctionne parfaitement.
    Cependant lorsque j'execute ce .bat avec exec() de PHP, il ne fonctionne pas et reste bloqué sur une ligne.

    J'ai vérifié les droits des fichiers et dossiers concernés, je ne sais pas quoi faire d'autres, je ne comprend pas.

    Siquelqu'un pense savoir ce qui peut poser probleme.

  5. #5
    Inscrit
    Avatar de Caerbannog
    Inscrit en
    Novembre 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 206
    Points : 273
    Points
    273
    Par défaut
    Ok PRINT pour les pdf c'est pas possible ; quelle ligne du bat, man ?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Le .bat lance ce Jscript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    // Convert2PDF.js script
    // Part of PDFCreator
    // License: GPL
    // Homepage: http://www.pdfforge.org/products/pdfcreator
    // Windows Scripting Host version: 5.1
    // Homepage: http://www.sf.net/projects/pdfcreator
    // Version: 1.0.0.0
    // Date: March, 15. 2007
    // Author: Frank Heindörfer
    // Comments: This script convert a printable file in a pdf-file using 
    //           the com interface of PDFCreator.
     
    var maxTime = 30   // in seconds
    var sleepTime = 250 // in milliseconds
     
    var objArgs, ifname, dirname, fso, PDFCreator, DefaultPrinter, ReadyState,
     i, c, Scriptname;
     
    fso = new ActiveXObject("Scripting.FileSystemObject");
    Scriptname = fso.GetFileName(WScript.ScriptFullname);
     
    if (WScript.Version < 5.1)
    {
     WScript.Echo("You need the \"Windows Scripting Host version 5.1\" or greater!");
     WScript.Quit();
    }
     
     
    if (WScript.arguments.length == 0)
    {
     WScript.Echo("Syntax: \t" + Scriptname + " <Filename> <Dirname>");
     WScript.Quit();
    }
     
     
    PDFCreator = WScript.CreateObject("PDFCreator.clsPDFCreator", "PDFCreator_");
    PDFCreator.cStart("/NoProcessingAtStartup");
     
     
    PDFCreator.cOption("UseAutosave") = 1;
    PDFCreator.cOption("UseAutosaveDirectory") = 1;
    PDFCreator.cOption("AutosaveFormat") = 0;                             // 0 = PDF
    //DefaultPrinter = PDFCreator.cDefaultprinter;
    PDFCreator.cDefaultprinter = "PDFCreator";
    PDFCreator.cClearcache();
     
    ifname = WScript.arguments.item(0)
    dirname = WScript.arguments.item(1)
     
     
    if (!fso.FileExists(ifname)) {
       WScript.Echo("Can't find the file: " + ifname);
    }
    else {
      if (!PDFCreator.cIsPrintable(ifname)) {
        WScript.Echos("Converting: " + ifname + "\r\n\r\nAn error is occured: File is not printable!");
        WScript.Quit();
      }
     
      ReadyState = 0
     
      PDFCreator.cOption("AutosaveDirectory") = dirname;
      PDFCreator.cOption("AutosaveFilename") = fso.GetBaseName(ifname);
      PDFCreator.cPrintfile(ifname); //-----------RESTE BLOQUE ICI
      PDFCreator.cPrinterStop = false;
     
      a.WriteLine("Dir et Filename OK");
     
      c = 0
      while ((ReadyState == 0) && (c < (maxTime * 1000 / sleepTime)))
      {
        c = c + 1;
        WScript.Sleep(sleepTime);
        a.WriteLine(c);
      }
      if (ReadyState == 0)
      {
        WScript.Echo("Converting: " + ifname + "\r\n\r\nAn error is occured: Time is up!");
      }
     
    }
     
    //PDFCreator.cDefaultprinter = DefaultPrinter
    PDFCreator.cClearcache();
    WScript.Sleep(200);
    PDFCreator.cClose();
     
    //--- PDFCreator events ---
     
    function PDFCreator_eReady()
    {
     ReadyState = 1;
    }
     
    function PDFCreator_eError()
    {
     WScript.Echo("An error is occured!\r\n\r\n"  +  "Error [" +
     PDFCreator.cErrorDetail("Number") + "]: " + PDFCreator.cErrorDetail("Description"));
     WScript.Quit();
    }
    Il fonctionne très bien lorsque j'exécute le .bat en cliquant dessus, mais reste bloqué lorsque je l'execute avec php (voir //-----------RESTE BLOQUE ICI)

    --------------------------------------------------------------------------
    (PRINT je l'utilise pour un .doc avec l'imprimante par défaut qui est PDFCreator, mais ça doit pas etre possible en effet)

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/08/2007, 20h16
  2. [Système] Exécuter une application sur le serveur
    Par misteralex64 dans le forum Langage
    Réponses: 7
    Dernier message: 06/07/2007, 15h20
  3. [Système] Espace disque restant sur le serveur
    Par elfugu dans le forum Langage
    Réponses: 2
    Dernier message: 23/04/2007, 18h57
  4. [Système] Clic et execution sur le serveur (exe)
    Par Belegkarnil dans le forum Langage
    Réponses: 4
    Dernier message: 11/11/2005, 17h27

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