Powerbuilder pour les completement Geeks !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 15-12-2009 14:51:16

gt3rs  
Membre Geek
Date d'inscription: 24-04-2007
Messages: 23
Pépites: 97
Banque: 0

[RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Programme d'impression en PB 10.2.1

Pour certaine de nos éditions, nous avons choisi la solution PDF distil en sortie de notre batch d'impression.

Avec la version batch de test, La génération du fichier PDF fonctionne très bien sur mon poste de développeur (windows Xp avec la version 8.60 de Ghostscript).

En revanche, les fichiers PDF ne sont même pas créés lorsque l'exécution est réalisée sur le serveur de recette (windows serveur 2003 Sp1).

J'ai essayé les versions Ghoscript 8.56, 8.60 et 8.70, sans succès. J'ai également bien vérifié l'imprimante "Sybase Datawindows PS" et elle est installée sur le serveur à l'identique de ce que j'ai fait sur mon poste (le pilote utilisé est "HP Laserjet 4/4M Plus PS 600" qui est l'un des exemples données dans la doc PB).

Si j'avais obtenu un fichier PDF vide, j'aurais testé d'autre version de ghostscript. Mais le fait de n'obtenir aucun fichier me laisse perplexe.

Avez-vous une idée du problème ?

Dernière modification par gt3rs (15-01-2010 12:59:06)

Hors ligne

 

#2 15-12-2009 15:25:04

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Bonjour,

Ce problème est parfaitement connu, il est documenté :

5.2.3 Save As PDF fails on Windows 2003 Server

Saving as PDF using the Distill method fails at runtime on Windows 2003 Server. This is caused by a Group Policy that by default disallows installation of printers that use kernel-mode drivers. Kernel-mode drivers have access to system-wide memory, and poorly written drivers can cause system failures. To allow installation of kernel-mode drivers, follow these steps:

   1. Select Run from the Windows Start menu.
   2. In the Open box, type gpedit.msc and click OK.
   3. In the Group Policy console, expand Computer Configuration, Administrative Templates, and Printers.
   4. Disable "Disallow Installation of Printers Using Kernel-Mode Drivers."

[CR 349868]

Hors ligne

 

#3 15-12-2009 16:10:31

gt3rs  
Membre Geek
Date d'inscription: 24-04-2007
Messages: 23
Pépites: 97
Banque: 0

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Effectivement... C'est bien indiqué sur la page "Release Bulletin PowerBuilder Desktop/Professional 10.2.1 " que je n'ai pas pensé à vérifier alors que j'aurais du commencer par çà !

Merci pour cette réponse et surtout, désolé d'avoir sollicité inutilement le forum.

Je mets en oeuvre la solution demain matin et je vous confirmerais que tout fonctionne bien pour la balise "résolu" de ce court topic.

Hors ligne

 

#4 16-12-2009 08:22:38

gt3rs  
Membre Geek
Date d'inscription: 24-04-2007
Messages: 23
Pépites: 97
Banque: 0

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

On a fait la modification sur le serveur. Malheureusement, on ne génère toujours pas de fichiers pdf. Avez vous d'autres pistes ?

Hors ligne

 

#5 16-12-2009 09:52:30

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Bonjour,

Il peut y-avoir beaucoup de causes à ton problème.

En autre des problèmes de droits (ACL en mode NTFS), il ne faut pas oublier que tu es sur un serveur et l'utilisateur qui génère le PDF n'a peut être pas les autorisations nécessaires pour écrire le PDF à l'emplacement désirée.

Tu peux également avoir des problèmes d'installation (fichiers manquants) par rapport à un poste de développement qui dispose de tous les fichiers (PBVM) et les "path" nécessaires.

Je conseille également d'utiliser ghostcript copié comme sous-répertoire de la PBVM Powerbuilder et non d'installer la version avec le "setup" ghostscript pour éviter des conflits de version avec d'autres produits utilisant ghostcript en version différente (ex : PDF Creator).

....

Hors ligne

 

#6 16-12-2009 14:19:54

gt3rs  
Membre Geek
Date d'inscription: 24-04-2007
Messages: 23
Pépites: 97
Banque: 0

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Pour le moment, je ne trouve pas de solutions.

buck a écrit:

En autre des problèmes de droits (ACL en mode NTFS), il ne faut pas oublier que tu es sur un serveur et l'utilisateur qui génère le PDF n'a peut être pas les autorisations nécessaires pour écrire le PDF à l'emplacement désirée.

A l'emplacement désiré, nous enregistrons les fichiers prn sans probléme. A priori, on n'a pas de soucis de droit d'après l'administrateur du serveur.

buck a écrit:

Tu peux également avoir des problèmes d'installation (fichiers manquants) par rapport à un poste de développement qui dispose de tous les fichiers (PBVM) et les "path" nécessaires.

J'ai vérifié tout çà et normalement, il ne lui manque rien.

buck a écrit:

Je conseille également d'utiliser ghostcript copié comme sous-répertoire de la PBVM Powerbuilder et non d'installer la version avec le "setup" ghostscript pour éviter des conflits de version avec d'autres produits utilisant ghostcript en version différente (ex : PDF Creator).

J'ai fait cela aussi.

J'ai aussi supprimé et recréé l'imprimante "Sybase DataWindow PS", mais cela ne change rien.

Je me suis créer un petit environnement d'éxécution sur le réseau. Lorsque je lance le programme depuis mon poste, ca fonctionne sans soucis. Mais dés qu'il s'agit de lancer depuis le serveur de recette, le fichier PDF n'est pas créé.

Là, j'ai vraiment l'impression d'avoir fait le tour et je ne sais plus quoi tenter.

Hors ligne

 

#7 16-12-2009 14:34:57

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

C'est bizarre, même avec ghostscript mal installé, on a en général un fichier de généré à 0 Ko.

Sinon, ton utilisateur il a bien également les droits d'utiliser l'imprimante Sybase (onglet sécurité de l'imprimante) ?

Le port de destination de l'imprimante est bien sur FILE: ?

Hors ligne

 

#8 16-12-2009 14:50:34

gt3rs  
Membre Geek
Date d'inscription: 24-04-2007
Messages: 23
Pépites: 97
Banque: 0

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

buck a écrit:

Sinon, ton utilisateur il a bien également les droits d'utiliser l'imprimante Sybase (onglet sécurité de l'imprimante) ?

Oui. L'imprimante a été créée avec le compte utilisateur.

buck a écrit:

Le port de destination de l'imprimante est bien sur FILE: ?

Oui.

Dans l'onglet "avancé", dans la zone pilote, j'ai essayé avec "Acrobat Distiller" et "HP Laserjet 4/4M Plus PS 600". Dans les 2 cas, ca fonctionne depuis mon poste, et dans les 2 cas, cela ne fonctionne pas depuis le serveur de recette.

Dernière modification par gt3rs (16-12-2009 14:50:49)

Hors ligne

 

#9 16-12-2009 14:57:08

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Tu as essayé avec le compte Administrateur pour voir ?

Hors ligne

 

#10 16-12-2009 15:05:10

gt3rs  
Membre Geek
Date d'inscription: 24-04-2007
Messages: 23
Pépites: 97
Banque: 0

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Non.

Je vois demain si c'est possible d'essayer.

Hors ligne

 

#11 18-12-2009 10:39:11

gt3rs  
Membre Geek
Date d'inscription: 24-04-2007
Messages: 23
Pépites: 97
Banque: 0

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

La personne qui me donne accé au serveur n'était pas là hier (suites à la neige).

Voici quelques nouvelles aujourd'hui.

On m'a bien dit que le compte utilisé lors de la prise de contrôle a distance (exécution à partir d'un environnement de test, excuté sur le serveur Windows 2003) a tout les droits d'administration nécéssaire.

Dans l'environnement de test, j'ai ajouté encore d'autre repertoir que j'ai retrouvé dans les paths de ma machine et qui n'ont rien à voir avec la PBVM... Mais au point ou j'en suis, ca ne coutait pas grand chose d'éssayer. Mais Cela ne change rien au problème. Toujours pas de fichier pdf de créé. Ce que je peux dire aussi, c'est qu'a l'éxécution, j'ai un code retour qui m'indique qu'au niveau impression PB, tout a fonctionné correctement.

J'ai retesté l'environnement de test (exécuté sur le serveur en windows 2003) avec l'ancienne version du programme PB, et le fichier prn lui, est bien créé et copier correctement.

Donc, je ne comprends toujours pas l'origine du problème. Tout fonctionne très bien depuis mon poste en XP, mais impossible de générer le fichier PDF avec le même programme sur ce serveur en Windows 2003.

Si vous avez d'autres pistes, je suis, bien sur, toujours preneur.

Dernière modification par gt3rs (18-12-2009 10:41:29)

Hors ligne

 

#12 22-12-2009 13:58:53

gt3rs  
Membre Geek
Date d'inscription: 24-04-2007
Messages: 23
Pépites: 97
Banque: 0

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Je suis en contact avec l'assistance Sybase. Je vous tiens au courant dés qu'on aura trouvé une solution.

Hors ligne

 

#13 04-01-2010 14:51:01

gt3rs  
Membre Geek
Date d'inscription: 24-04-2007
Messages: 23
Pépites: 97
Banque: 0

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Je n'ais pas de solutions facile à mettre en place avec le support Sybase pour le moment.

On me fait remarquer que la version de Power Builder que nous utilisons n'est plus maintenue et que la version de power builder actuellement maintenue est la 11.5.

A default, on nous recommande également de mettre à jour le serveur windows 2003 (SP3 au lieu du SP1).

Je suis tout de même étonné de constater qu'une simple impression PDF ne fonctionne pas avec une application en PB 10.2.1 depuis un serveur Windows 2003 SP1. Est ce que certain d'entre vous ont déjà réussi cela dans cette configuation précise ?

Finalement, ne serait il pas plus simple d'envisager autre chose que la génération PDF native de PB ?
J'ai vu sur ce forum que erasorz proposait aussi une solution en utilisant CutePDF ( http://pbadonf.fr/forum/viewtopic.php?pid=2618#p2618 ). Est ce bien ce de ce produit dont il s'agit : http://www.cutepdf.com/products/cutepdf/Writer.asp ?

Hors ligne

 

#14 05-01-2010 08:03:11

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

gt3rs a écrit:

J'ai vu sur ce forum que erasorz proposait aussi une solution en utilisant CutePDF ( http://pbadonf.fr/forum/viewtopic.php?pid=2618#p2618 ). Est ce bien ce de ce produit dont il s'agit : http://www.cutepdf.com/products/cutepdf/Writer.asp ?

Effectivement, à un moment j'avais utilisé ce driver pour l'impression PDF sur un terminal server 2003.
Suite à une migration de serveur, je suis passé sur le driver Sybase DataWindow PS sans encombre.


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#15 05-01-2010 09:18:38

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Bonjour,

Je viens de voir que tu faisais tes tests dans une session terminal Server et non dans une session native sur le serveur.

En mode terminal distant, il existe un problème connu d'impression en général avec Powerbuilder.

On ne peut imprimer à ma connaissance que sur l'imprimante par défaut et il faut procéder obligatoirement à un PrintSetPrinter sur l'imprimante "Datawindow Sybase PS" avant de pouvoir générer le PDF.

Hors ligne

 

#16 05-01-2010 10:14:20

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

buck a écrit:

On ne peut imprimer à ma connaissance que sur l'imprimante par défaut et il faut procéder obligatoirement à un PrintSetPrinter sur l'imprimante "Datawindow Sybase PS" avant de pouvoir générer le PDF.

Pas nécessairement, j'utilise le code suivant dans des sessions "teminales" sous 2003, et ce n'est pas l'imprimante par défaut :

Code: pb

// export PDF
This.idw_report.Object.DataWindow.Export.PDF.Method   = Distill!
This.idw_report.Object.DataWindow.Printer         = This.inv_app.is_pdf_printer
This.idw_report.Object.DataWindow.Print.DocumentName  = This.is_file_pdf
This.idw_report.Object.DataWindow.Export.PDF.Distill.CustomPostScript = 'Yes'

li_result = This.idw_report.SaveAs( This.is_path_pdf + This.is_file_pdf, PDF!, True )

// release printer
This.idw_report.Object.DataWindow.Printer = ''

N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#17 05-01-2010 10:40:06

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Quelle version de PB ? C'est effectivement un problème qui doit être résolu dans les versions les plus récentes de PB, mais en 10.2.1 ?

Hors ligne

 

#18 05-01-2010 10:46:20

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

oups, actuellement 11.5 et de mémoire il me semble que je suis passé par les versions 9, 10.5 et 11 (mais pas la 10)


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#19 06-01-2010 13:35:09

gt3rs  
Membre Geek
Date d'inscription: 24-04-2007
Messages: 23
Pépites: 97
Banque: 0

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

En tous cas, j'ai essayé l'idée de buck (PrintSetPrinter sur l'imprimante "Datawindow Sybase PS") mais cela ne change rien (cela fonctionne sur mon poste en XP mais toujours pas sur le serveur windows 2003 SP1).

Si vous avez d'autres idées à téster, je suis toujours preneur.

De mon coté, je vais voir si on peut me trouver une machine en windows Serveur 2003 SP3 pour tester. A defaut, j'explorerais la piste CutePDF.  Je vous tiens au courant. Merci déjà pour toutes les infos déjà données ici.

Hors ligne

 

#20 06-01-2010 14:39:09

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Bonjour,

J'ai lu cette suggestion sur plusieurs sujets de discussion en anglais. A chaque fois le PrintSetPrinter a résolu le problème.

Parcontre, il était noté que pour que le PrintSetPrinter fonctionne, il fallait absolument passer l'argument du nom de l'imprimante à la fonction PrintSetPrinter obtenu à partir de la fonction PrintGetPrinters (Problème de conversion du nom d'imprimante nom long, nom court).

Tu remarqueras également que dans le code d'erasorz, il utilise un nom d'imprimante personnalisée (comme moi) et non le nom long par défaut "Datawindow Sybase PS".
C'est peut être une autre piste à explorer.

Hors ligne

 

#21 12-01-2010 08:26:39

gt3rs  
Membre Geek
Date d'inscription: 24-04-2007
Messages: 23
Pépites: 97
Banque: 0

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

J'ai réalisé le test en utilisant PrintSetPrinter obtenu à partir de la fonction PrintGetPrinters.

Même résultat :
Cela fonctionne sur mon poste en windows XP, mais toujours aucun fichiers générés sur la machine en windows serveur 2003.

Hors ligne

 

#22 12-01-2010 13:47:36

gt3rs  
Membre Geek
Date d'inscription: 24-04-2007
Messages: 23
Pépites: 97
Banque: 0

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

J'ai réalisé également le test avec CutePDF writer.

De nouveau, cela fonctionne sur mon poste en XP.
De nouveau, cela ne fonctionne pas sur la machine en windows serveur 2003.

Hors ligne

 

#23 15-01-2010 09:59:47

gt3rs  
Membre Geek
Date d'inscription: 24-04-2007
Messages: 23
Pépites: 97
Banque: 0

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Le support Sybase m'a suggéré de refaire un test en renommant le dossier "gs8.60" en "gs7.06".

Apparament... un fichier pdf a bien été généré sur la machine en server 2003 cette fois ci. Je vous confirme tout cela cet après midi.

Je suis surpris et perplexe sur cette solution.

Hors ligne

 

#24 15-01-2010 13:05:48

gt3rs  
Membre Geek
Date d'inscription: 24-04-2007
Messages: 23
Pépites: 97
Banque: 0

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Je confirme la solution et j'ai mis à jour le titre pour intégrer la balise [RESOLU].

Après 1 mois de recherche, c'est finalement ce simple changement de nom de répertoir dans l'arborescance ghostscript qui résout le problème. Le fichier PDF est maintenant bien créé et est conforme à ce que j'attendais.

Merci à tous les intervenants sur ce topic.

Hors ligne

 

#25 15-01-2010 13:21:58

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Impression PDF depuis un serveur en Windows serveur 2003

Merci à toi pour ce retour.
La solution est effectivement surprenante.


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22