Après windows pour les nuls, voici PB pour les bons (ou presque).

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 01-02-2007 12:41:50

frichmout  
Membre Geek
Date d'inscription: 13-12-2006
Messages: 54
Pépites: 260
Banque: 0

générer du pdf

Bonjour,
le topic sur le choix de l'imprimante m'a fait penser à kekchose... je vous livre mon interrogation :
soit une appli qui veut imprimer un pdf par destinataire (pour envoi ensuite en PJ). Imaginons l'appel de fond pour chaque copropriétaire.
soit un PB en version 9 qui utilise pour le moment  :

Code: pb

l_job = PrintOpen("appel_01")
PrintDataWindow(l_job, dw_1)
PrintClose(l_job)

avec cutepdf installé sur la machine pour générer soit un pdf soit du papier, suivant l'imprimante choisie par l'utilisateur.
Ma question est la suivante :
Serait-il possible d'éviter d'avoir à saisir un nom de fichier pdf ? Donc le générer et l'imposer à cutepdf. Actuellement, le module cutepdf ouvre une fenêtre de genre getopenfilename() qu'il ne parait pas facile de shunter. Le nom de fichier est [nom du job PB].pdf. C'est con, si le répertoire courant est bon, il ne reste plus qu'à faire "entrée".
On pourrait ainsi cracher 50 ou 60 pdf à la suite sans intervention de l'utilisateur (et même les envoyer par mail).
Je crains que dans le contexte expliqué (PB9 + cutepdf), ce ne soit difficile à réaliser.
Mais dans un autre contexte (version de PB ou autre clone d'acrobat ou les deux), quelqu'un verrait-il comment automatiser tout ça ?

merci

Hors ligne

 

#2 01-02-2007 13:15:49

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: générer du pdf

Nativement PB te permet d'exporter tes données de DW en pdf,  ça peut t'être utile?

Hors ligne

 

#3 01-02-2007 13:39:40

frichmout  
Membre Geek
Date d'inscription: 13-12-2006
Messages: 54
Pépites: 260
Banque: 0

Re: générer du pdf

En PB9, je n'ai jamais réussi a faire fonctionner ça. Et puis je veux aussi la forme de la DW, pas seulement le resultset.

Hors ligne

 

#4 01-02-2007 15:17:35

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: générer du pdf

frichmout a écrit:

En PB9, je n'ai jamais réussi a faire fonctionner ça.

Oui, il faut installer GNU GhostScript pour pouvoir imprimer en pdf. Ajouter le répertoire "/bin" de ghostscript dans le PATH.
Je comprends ton choix d'utiliser autre chose

frichmout a écrit:

Et puis je veux aussi la forme de la DW, pas seulement le resultset.

ça, ça fonctionne (quand on arrive à faire le pdf en tous cas).

Pour répondre à ta première question, ce n'est pas cutePdF que tu aurai dû utiliser, mais plutôt PDF Creator (non testé, mais j'ai choisi un produit du même éditeur que celui que tu avait déjà sélectionné)


never let people work on more than one thing at once.

Hors ligne

 

#5 15-03-2007 13:10:45

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: générer du pdf

shahin a écrit:

frichmout a écrit:

En PB9, je n'ai jamais réussi a faire fonctionner ça.

Oui, il faut installer GNU GhostScript pour pouvoir imprimer en pdf. Ajouter le répertoire "/bin" de ghostscript dans le PATH.

Je suis en phase de migration en PB 10.5.
J'ai installé GhostScript sur mon poste et tout va bien. J'ai bien une imprimante "fictive" qui a été crée et mon appli arrive bien à sauvegarder des fichiers en PDF. (je n'ai rien modifié dans le path et ça marche ?!)

Maintenant j'essaye d'installer GhostScript sur un serveur Citrix (Terminal Serveur), et là je ne comprends pas, l'imprimante fictive n'est pas créee, et bien sur mon appli n'arrive pas à sauvegarder en PDF.

Quelqu'un a t-il déjà utilisé GhostScript en Terminal Serveur ?

MErci

Hors ligne

 

#6 15-03-2007 13:29:17

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

Re: générer du pdf

wazou1812 a écrit:

Quelqu'un a t-il déjà utilisé GhostScript en Terminal Serveur ?

yes. Une fois la génération opérationnelle sur mon poste, je n'ai pas eu de soucis à reproduire la même chose sur le serveur Citrix. Par contre auparavant j'ai pas mal tatonné pour la génération en elle-même. Le script que j'ai utilisé est dans ce post. L'arborescence des librairies ghostscript est la suivante dans le dossier de l'exécutable :

\gs\fonts\
   \gs7.05\bin
          \lib


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

Hors ligne

 

#7 15-03-2007 15:53:54

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: générer du pdf

"L'arborescence des librairies ghostscript est la suivante dans le dossier de l'exécutable "

\gs\fonts\
   \gs7.05\bin
          \lib

Hello,

ça veux dire que sur le serveur Citrix tu as installé Ghostscript  dans le répertoire de ton exe pb  ?

Et dans le path sur le serveur, tu as mis quoi ?

Hors ligne

 

#8 15-03-2007 16:19:52

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

Re: générer du pdf

wazou1812 a écrit:

ça veux dire que sur le serveur Citrix tu as installé Ghostscript  dans le répertoire de ton exe pb  ?

j'ai pas réellement "installé" Ghostscript mais uniquement un "copier-coller" du dossier gs

Et dans le path sur le serveur, tu as mis quoi ?

rien dans le path en rappport avec Ghostscript

j'avais trouvé ça dans la doc sybase (en fait c'est pas par rapport au chemin de l'exe mais de la librairie pbdweXXX.dll, ce qui souvent revient au même) :

When you save a DataWindow object as PDF using the distill method, PowerBuilder searches in the following locations for an installation of GPL or AFPL Ghostscript:

- The Windows registry
- The relative path of the pbdwe105.dll file (typically Sybase\Shared\PowerBuilder)
- The system PATH environment variable

If GPL or AFPL Ghostscript is installed using the Ghostscript executable file, the path is added to the Windows registry.

If the Ghostscript files are in the relative path of the pbdwe110.dll file, they must be installed in this directory structure:

dirname\pbdwe105.dll
dirname\gs\gsN.NN
dirname\gs\fonts

where dirname is the directory that contains the runtime DLLs and N.NN represents the release version number for Ghostscript.


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

Hors ligne

 

#9 16-03-2007 08:17:30

elbrizzio  
Bienfaiteur du site
Award: bf
Lieu: Leuven
Date d'inscription: 12-03-2007
Messages: 206
Pépites: 33,275
Banque: 2,109,818,425,070

Re: générer du pdf

Petit commentaire addtionnel :
avec PB 10.5.1,  la méthode Distill (cutePDF et GhostScript 7.05) ne fonctionnait pas chez moi.
Je suis passé à la version GhostScript 8.54 et cela tourne maintenant.


@+

Hors ligne

 

#10 27-03-2007 12:34:36

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

Re: générer du pdf

elbrizzio a écrit:

Petit commentaire addtionnel :
avec PB 10.5.1,  la méthode Distill (cutePDF et GhostScript 7.05) ne fonctionnait pas chez moi.
Je suis passé à la version GhostScript 8.54 et cela tourne maintenant.

je viens de vérifier, 8.54 c'est également la version que j'utilise et qui fonctionne très bien
(même en laissant le chemin gs7.05 )


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

Hors ligne

 

#11 29-03-2007 13:07:22

elbrizzio  
Bienfaiteur du site
Award: bf
Lieu: Leuven
Date d'inscription: 12-03-2007
Messages: 206
Pépites: 33,275
Banque: 2,109,818,425,070

Re: générer du pdf

J'ai quand même un souci :

sur un serveur A, j'ai mon appli
sur un serveur B, il y a citrix, cutepdf et ghostscript 8.54

pas moyen de générer le pdf sous citrix ou même en attaquant directement l'exe sur le serveur A ... 

sauf si sur le serveur A, je crée un répertoire spécial pour l'appli, où il n' y a que que les fichiers de l'appli sans acune dll de powerbuilder
alors apparemment il détecte les dll PB de mon poste et de facto le cutepdf+ghostcript qui s'y trouve ...

J'ai aussi essayé en mettant l'arborescence gs dan le répertoire de l'exe mais que nenni, ça ne fonctionne pas .

Alors quid ?  Où est mon erreur ?

Hors ligne

 

#12 29-03-2007 13:16:33

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: générer du pdf

elbrizzio a écrit:

J'ai quand même un souci :

sur un serveur A, j'ai mon appli
sur un serveur B, il y a citrix, cutepdf et ghostscript 8.54

pas moyen de générer le pdf sous citrix ou même en attaquant directement l'exe sur le serveur A ... 

sauf si sur le serveur A, je crée un répertoire spécial pour l'appli, où il n' y a que que les fichiers de l'appli sans acune dll de powerbuilder
alors apparemment il détecte les dll PB de mon poste et de facto le cutepdf+ghostcript qui s'y trouve ...

J'ai aussi essayé en mettant l'arborescence gs dan le répertoire de l'exe mais que nenni, ça ne fonctionne pas .

Alors quid ?  Où est mon erreur ?

La différence, c'est que sur ton serveur Citrix il n'y a pas Pb d'installer.
Sur ton poste, lorsque tu as installé Ghostcript, tu as aussi installé une imprimante du type Acrobat Distiller(nommée Sybase DataWindow PS) en utilisant des fichiers se trouvant dans le répertoire C:\Program Files\Sybase\PowerBuilder 10.0\Shared\PowerBuilder\drivers.
Sur ton serveur Citrix, il faut donc que tu installe cette imprimante (accessible par tous) en recopiant les fichiers se trouvant dans le répertoire ci dessus. Nomme là de la même manière que sur ton poste, car par la suite dans ton code tu en auras peut être besoin.

Hors ligne

 

#13 29-03-2007 13:26:59

elbrizzio  
Bienfaiteur du site
Award: bf
Lieu: Leuven
Date d'inscription: 12-03-2007
Messages: 206
Pépites: 33,275
Banque: 2,109,818,425,070

Re: générer du pdf

OK, j'essaye de mettre la main sur le gars du système, car je n'ai pas accés au serveur citrix.

Et l'installation de cette imprimante se fait comment ? En recopiant les fichiers dans un répertoire spécifique ? Via un setup ?

Hors ligne

 

#14 29-03-2007 13:32:34

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: générer du pdf

elbrizzio a écrit:

OK, j'essaye de mettre la main sur le gars du système, car je n'ai pas accés au serveur citrix.

Et l'installation de cette imprimante se fait comment ? En recopiant les fichiers dans un répertoire spécifique ? Via un setup ?

oui avec tes  fichiers se trouvant dans le répertoire C:\Program Files\Sybase\PowerBuilder 10.0\Shared\PowerBuilder\drivers (ou peut être un autre répertoire pour toi) , il faut les copier sur le serveur Citrix et les utiliser pour ajouter cette imprimante de type Acrobat Distiller , et nomme là pareil que sur ton poste.

Hors ligne

 

#15 03-04-2007 08:35:11

elbrizzio  
Bienfaiteur du site
Award: bf
Lieu: Leuven
Date d'inscription: 12-03-2007
Messages: 206
Pépites: 33,275
Banque: 2,109,818,425,070

Re: générer du pdf

Problème PB 10.5.1 résolu avec l'installation du build 6602.

La génération de PDF fonctionne sous Citrix et en direct sur le serveur, sans installer d'imprimante postscript Sybase.
Avec cutePDF installer sur le serveur Citrix et Ghoscript 'installé' dans le répertoire des dll PB.

Hors ligne

 

#16 03-04-2007 08:40:23

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

Re: générer du pdf

elbrizzio a écrit:

Problème PB 10.5.1 résolu avec l'installation du build 6602.

La génération de PDF fonctionne sous Citrix et en direct sur le serveur, sans installer d'imprimante postscript Sybase.
Avec cutePDF installer sur le serveur Citrix et Ghoscript 'installé' dans le répertoire des dll PB.

c'est bien ce qui semblait être l'installation minimale
pas besoin d'installer ghostscript en "program files", ni l'imprimante postscript Sybase et rien dans le path


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

Hors ligne

 

#17 03-04-2007 09:33:38

elbrizzio  
Bienfaiteur du site
Award: bf
Lieu: Leuven
Date d'inscription: 12-03-2007
Messages: 206
Pépites: 33,275
Banque: 2,109,818,425,070

Re: générer du pdf

Oui sauf qu'après le passage en 10.5.1, cela ne fonctionnait pas ....
voici un extrait de la buglist du build 6602 :

Code:

Bug ID 451334 :
After upgrading to PB 10.5.1, saving to pdf will
result in a empty file when using ghostscript
8.14.  Problem happens with deployed application
and ghostscript is in the relative path of
pbdwe105.dll.  Not working in development where
ghostscript is also in the relative path of
pbdwe105.dll.

patchez, patchez qu'ils disaient ....

Hors ligne

 

#18 04-04-2007 10:22:11

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: générer du pdf

elbrizzio a écrit:

Problème PB 10.5.1 résolu avec l'installation du build 6602.

La génération de PDF fonctionne sous Citrix et en direct sur le serveur, sans installer d'imprimante postscript Sybase.
er ghostscript en "program files", ni l'imprimante postscript Sybase et rien dans le path

Sur vos conseils, j'ai récupérer le build 6602, mais sur le serveur Citrix, si je n'ai pas une imprimante de type distiller d'installée , j'ai une erreur lors de la sauvegarde du fichier en PDF.

Donc, en résumé, entre le build 6551 et 6602, cela ne change pas mon problème.

Lorsque la méthode PDF fonctionne sur votre serveur Citrix, avez vous une imprimante de type Distiller ou Print to file d'installée sur le serveur Citrix , car celle la seule explication que je peux expliquer ?

Hors ligne

 

#19 04-04-2007 14:44:58

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: générer du pdf

quelqu'un aurait une version 7 de ghostscript genre la version 7.05 ?

Hors ligne

 

#20 04-04-2007 14:54:04

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: générer du pdf

Désolée pas moi......

Hors ligne

 

#21 04-04-2007 15:09:28

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: générer du pdf

c'est bon je viens de le récup merci

pour info en pb 9, il faut la version 7.05 de ghostscript avec la 8 ça ne fonctionne pas.

Hors ligne

 

#22 05-04-2007 09:27:47

elbrizzio  
Bienfaiteur du site
Award: bf
Lieu: Leuven
Date d'inscription: 12-03-2007
Messages: 206
Pépites: 33,275
Banque: 2,109,818,425,070

Re: générer du pdf

Wazou1812 :

Lorsque la méthode PDF fonctionne sur votre serveur Citrix, avez vous une imprimante de type Distiller ou Print to file d'installée sur le serveur Citrix , car celle la seule explication que je peux expliquer ?

Sur le serveur Citrix, j'ai une imprimante distiller 'CutePDF Writer', et dans le répertoire de l'appli le ghostcript dans un répertoire \gs
avec l'arborescence telle que l'a énoncé eRaSorZ le 15-03.

Hors ligne

 

#23 05-04-2007 09:40:21

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: générer du pdf

elbrizzio a écrit:

Sur le serveur Citrix, j'ai une imprimante distiller 'CutePDF Writer', et dans le répertoire de l'appli le ghostcript dans un répertoire \gs
avec l'arborescence telle que l'a énoncé eRaSorZ le 15-03.

Cela doit donc être l'explication, Ton appli se sert de cette imprimante distiller pour effectuer la sauvegarde en PDF. Puisque cela semble obligatoire . (sur mon serveur Citrix, au départ je n'avait aucune imprimante distiller d'installée).

Si tu supprimes cette imprimante (sur ton poste ou sur ton serveur citrix), la sauvegarde en PDF ne devrait plus fonctionner??..

Si ton appli doit être distribuée sur plusieurs serveurs, vérifie que tu ais toujours le même type d'imprimante distiller d'installé.

Hors ligne

 

#24 10-05-2007 13:48:44

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: générer du pdf

Voilà, j'ai compris comment Pb installe automatiquement l'imprimante de type Acrobat Distiller sur le poste du développeur.


Each user’s computer must have a PostScript printer profile called Sybase DataWindow PS. This profile is added to your development computer automatically when you save a DataWindow’s rows to a PDF file in the DataWindow painter.

Users can add the profile manually using the Windows Add Printer wizard. In the wizard, click the Have Disk button and browse to the Adist5.inf file installed in the Shared\PowerBuilder\drivers directory, or to another PostScript driver file.

Et c'est donc pour cela que sur le poste de développeur, l'imprimante peut se creer "toute seule" et qu'il faut la créer manuellement sur un serveur Citrix par exemple.

Hors ligne

 

#25 10-05-2007 14:31:46

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: générer du pdf

c'est pas un problème de profil admin sur citrix?

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22