Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Je migre actuellement une application PB (en 11.5) d'un serveur windows 2000 SP4 vers un serveur windows server 2012 64bits.
Sur l'ancien serveur, la version de ghostscript est 7.04 et le nouveau 9.15 64bits.
L'imprimante Sybase DataWindow PS est bien installée.
Suite à cette migration, le SaveAs en PDF crée un fichier PDF avec 0ko, donc non alimenté.
Quelqu'un a-t-il une idée ?
NB : le problème est surement dû aux 64 bits ...
Dernière modification par bdf94 (18-03-2015 09:58:46)
Hors ligne
Bonjour,
Il faut mieux utiliser la version Ghostscript certifiée pour la version de Powerbuilder. C'est à dire la 8.63 pour Powerbuilder 11.5. J'ai des expériences négatives d'utiliser une version supérieure à celle certifiée.
Si tu utilises une version de ghostscript 64 bits, il faut leurrer Powerbuilder en renommant le nom de l’exécutable 64 bits en sa version exécutable en 32 bits (gswin32.exe). Powerbuilder ne supporte pas nativement la version 64 bits de Ghostscript, le nom de l’exécutable est codé en dur.
Je n'ai pas de problèmes pour imprimer les PDF sur plateforme 64 bits (Windows 7, Windows 8, Windows server 2008 R2, ...) avc PB 11.5.1.4897. Mais j'utilise toujours une version de ghostscript 32 bits installée en tant que sous répertoire de la PBVM telle que décrit dans la documentation.
Hors ligne
Pour ma part sur mon windows 8.1 64bit j'utilise Ghostscript 9.09 et j'utilise le driver "HP Color Laserjet 2800 serie PS" pour l'imprimante Sybase DataWindow PS.
Ca fonctionne très bien avec Powerbuilder 9 et Powerbuilder 12.6
PS:
En général le répertoire "C:\Program Files (x86)\gs\gs9.09\bin" ne se trouve pas dans le path system, il faut mettre ce path manuellement dans le path système pour que ca fonctionne.
Dernière modification par bewan (17-07-2015 14:21:32)
Hors ligne
Bonjour, my 2 cents.
J'ai refait le test récemment sur une machine 64bits, vierge de toute installation de Ghostscript.
Tout ce qu'il faut faire c'est récupérer les fichiers d'une installation 32bits (dans mon cas 8.54, d'autres versions plus récentes marchent certainement) et mettre ces dossiers dans un sous-dossier de la PBVM.DLL (le même que l'EXE, en général) :
<répertoire pbvm>\gs\gs8.54\bin\
<répertoire pbvm>\gs\gs8.54\lib\
<répertoire pbvm>\gs\fonts\
Pour peaufiner, tu peux au lancement de l'EXE vérifier si l'imprimante virtuelle PS existe, si ça n'est pas le cas cette commande fait le taf :
rundll32.exe printui.dll,PrintUIEntry /if /f "C:\Windows\inf\prnhp002.inf" /r "file:" /b "PowerbuilderPdf" /m "HP Color LaserJet 2800 Series PS"
Ici, sous W7 64bits, j'ai pris l'imprimante HP Color LaserJet 2800 Series PS, mais selon la version de Windows ces drivers sont préconisés :
HP Color LaserJet PS on Windows XP, and 2003
HP LaserJet 8150 PS on Windows Vista, and 2008
HP Color LaserJet 2800 Series PS on Windows 7, and 2008 R2
Microsoft PS Class Driver on Windows 8, 8.1, 2012, and 2012 R2
Ensuite, le code pour exporter :
// export du fichier PDF Long ll_result SetPointer( HourGlass! ) // export PDF dw_test.Object.DataWindow.Export.PDF.Method = Distill! dw_test.Object.DataWindow.Printer = "PowerbuilderPdf" dw_test.Object.DataWindow.Print.DocumentName = "test.pdf" dw_test.Object.DataWindow.Export.PDF.Distill.CustomPostScript = "Yes" ll_result = dw_test.SaveAs( "c:\test.pdf", PDF!, True ) // release printer (vs bug) dw_test.Object.DataWindow.Printer = ""
Hors ligne
En utilsant la version ghostscript 8.63, cela fonctionne.
NB : par contre j'ai dû désinstaller la version 9.15 proprement et réinstaller l'imprimante Sybase DataWindow PS avec les bon drive
Hors ligne
Bonjour à tous,
Mon appli doit générer, chaque nuit, des fichiers pdf depuis une DW dans une tâche planifiée sur un serveur 2008R2 standard.
Au départ j’utilisais l’impression via l’imprimante pdfCréator 1.7.3
En mode session ouverte tout ce passe bien. Les fichiers font +/- 60ko.
Mais en tache planifiée cela ne fonctionne plus. Il ne crée pas de fichier pdf.
J’ai bien suivis les instructions pour générer un pdf depuis une dw via le gs.
En mode session ouverte tout fonctionne bien. Les fichiers font +/- 125ko.
Mais en tache planifiée cela fonctionne mais les fichiers sont vide 1ko.
J’ai refait des tests en placent les répertoires dans les variables d'environnement du serveur (\appli\gs; \appli\gs\gs8.53; \appli\gs\gs8.53\bin; \appli\gs\gs8.53\lib) mais le problème reste le même.
Quelqu'un a-t-il une idée ?
Hors ligne
Bonjour,
Il faut installer la version 64 bits de ghostscript, et après il faut renommer gswin64c.exe en gswin32c.exe
Cf le site de Sybase, et ça fonctionne
Cause PowerBuilder 12.5 is QA'ed with Ghostscript 8.60. In the Ghostscript 8.60 64-bit version, the ghostscript executable is 'named' as gswin32c.exe. In Ghostscript 9.x 64-bit version, the ghostscript executable is 'named' as gswin64c.exe. PowerBuilder is looking for the gswin32c.exe instead of gswin64c.exe. PowerBuilder is looking for the gswin32c.exe instead of gswin64c.exe.
Hors ligne
Bonjour,
Je pense que l'utilisateur que tu as défini pour lancer la tâche planifiée n'a simplement pas les droits suffisants.
Hors ligne
Bonjour Wazou1812,
Merci pour ta réponse.
je vais essayer d'installer la version 64 bits.
Bonjour Buck,
Merci pour ta réponse.
L'utilisateur est l'administrateur de la machine et du domaine qui a tous les droits
Hors ligne