Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour a la communauté !
J'ai un soucis d'export en PDF, malgré toute les manipulations effectuer en recherchant dans tout les posts traitant le sujet sur ce forum, je n y arrive toujours pas !
Il génère un fichier PDF a 0 ko, je pense que sa viens de GS mais la je sèche j'ai tout essayer (version 32, 64 bits)
Mon code actuelle :
dw_saisie.Object.DataWindow.Export.PDF.Method = Distill! dw_saisie.Object.DataWindow.Export.PDF.Distill.CustomPostScript="Yes" dw_saisie.saveas(ls_path, PDF!, false)
- Le dossier Ghostscript (version 9.09) est installé dans le meme dossier que l'exe.
- Je suis sur Windows 7, PB 12.5
- La datawindows a exporter en pdf est en external.
Merci d'avance a ceux qui me répondront !
Cordialement
Dernière modification par refoelite (27-06-2014 08:13:23)
Hors ligne
Salut,
As tu bien crée l'imprimante : "Sybase DataWindow PS"
Cdt
Yanis
Hors ligne
Je n'ai pas crée cette imprimante en question, je me suis juste dit qu'il s'agit d'un export PDF, quel lien sa a avec l'imprimante ??
Qu'appelle tu crée l'imprimante "Sybase DataWindow PS" ?
Hors ligne
Salut,
Je te propose de lire la documentation suivante :
http://infocenter.sybase.com/help/index … BGDBHJ.htm
Voir la partie : "PostScript printer profile" à la fin de la page d'aide
Cdt
yanis
Hors ligne
Me revoila, merci Yanis j'ai donc installé une imprimante au nom de "Sybase DataWindow PS", même problème saveas me retourne -1
Hors ligne
Salut,
J'ai trouvé un cas d'erreur avec la version 9.xx de GS avec powerbuilder 12.5.
http://ghostscript.com/pipermail/gs-bug … 26615.html
Esassaye de voir en désinstallant la version 9.xx et en installant la version 8.71 pour voir ci celà fonctionne.
Cdt
yanis
Hors ligne
Bonjour,
Powerbuilder 12.5 est certifié pour la version de ghostscript 8.60 (cf release bulletin). De souvenir, cela n'a jamais fonctionné pour notre application en ne prenant pas la version certifiée pour la version de PB lorsqu'on a mis l'export PDF en place.
Hors ligne
Mon erreur -1 venais juste du chemin d'enregistrement qui était érronée, j'ai corrigée cela et utilisée la version 8.60 de GS, il m'enregistre bien le PDF mais celui ci pèse toujours 3 Ko et quand je l'ouvre je me retrouve sur une page vierge (ma datawindows a bel et bien des informations), j'ai utilisé GS 8.60 en 32 et 64 même chose
Dernière modification par refoelite (24-06-2014 08:48:41)
Hors ligne
Bonjour,
Quel drivers d'imprimante postscript tu as installé ? pour ma part j'utilise HP LaserJet 2300 Series PS (sur les systèmes 64 bits, fonctionne sous Windows 8, 7, et Vista)
Hors ligne
Sa fais un moment que j'ai installé l'imprimante mais je crois qu'elle est partagé en réseau, ce que j'arrive pas a comprendre c'est, que viens faire l'imprimante dans une histoire d'exportation PDF ?
Dernière modification par refoelite (24-06-2014 09:59:47)
Hors ligne
refoelite a écrit:
ce que j'arrive pas a comprendre c'est, que viens faire l'imprimante dans une histoire d'exportation PDF ?
PB ne sait pas produire de PDF, mais il sait imprimer.
GhostScript de son côté sait lire et visualiser du PostScript, et sait produire du PDF à partir de PostScript (PostScript est l'ancêtre du Portable Document Format, un format permettant d'avoir des impressions vectorielles également inventé par Adobe).
Le truc pour que PB puisse faire du PDF, c'est de lui faire imprimer vers une imprimante (virtuelle) de type PostScript, impression redirigée vers un fichier dont GhostScript s'occupe de faire la traduction en PDF.
Hors ligne
J'ai trouvée une alternative avec PDFcreator et la fonction print ! Mais je suis pas plus avancé car le chemin d'accès ainsi que le nom du PDF doivent être générés tout seul !
Editer : J'ai utiliser la fonction enregistrement automatique de PDFcreator, je modifie le registre selon le chemin d'accès et le fichier et sa marche !!
Dernière modification par refoelite (24-06-2014 14:20:49)
Hors ligne
Voici un exemple d'utilisation de PDFCreator en PB via l'automation OLE
Les boucles à la fin permettent d'attendre que l'impression soit finie avec de passer à la suite.
Au final c'est pareil mais ça permet de pas toucher au registre.
dw_print.modify("Datawindow.printer = 'PDFCreator'" ) /* Ou tout autre nom */ lole_pdf = CREATE oleobject lole_pdf.ConnectToNewObject('PDFCreator.clsPDFCreator') lole_pdf.cStart("/NoProcessingAtStartup") lole_pdf.cOption("UseAutosave",1) lole_pdf.cOption("UseAutosaveDirectory",1) lole_pdf.cOption("AutosaveDirectory",/* Répertoire où tu veux sauvegarder */) lole_pdf.cOption("AutosaveFilename",/* nom du fichier final */ +".pdf") lole_pdf.cOption("AutosaveFormat",0) lole_pdf.cOption("AutosaveStartStandardProgram", /* 0 ou 1 ça dépend si tu veux ouvrir le pdf ou non */) lole_pdf.cClearCache() dw_print.SetRedraw(False) dw_print.Object.DataWindow.Zoom = 100 dw_print.Print() dw_print.Object.DataWindow.Zoom = 88 dw_print.SetRedraw(True) do while long(lole_pdf.cCountOfPrintjobs()) <> 1 yield() loop lole_pdf.cPrinterStop(False) do while long(lole_pdf.cCountOfPrintjobs()) > 0 yield() loop lole_pdf.cClose()
Hors ligne
Après quelque modification de ton code (voir ci dessous) :
oleobject lole_pdf dw_saisie.modify("Datawindow.printer = 'PDFCreator'" ) // Ou tout autre nom lole_pdf = CREATE oleobject lole_pdf.ConnectToNewObject('PDFCreator.clsPDFCreator') lole_pdf.cStart("/NoProcessingAtStartup") lole_pdf.cOption("UseAutosave",1) lole_pdf.cOption("UseAutosaveDirectory",1) lole_pdf.cOption("AutosaveDirectory",ls_path) //repertoire de sauvegarde lole_pdf.cOption("AutosaveFilename", ls_fichier) //nom du fichier lole_pdf.cOption("AutosaveFormat",0) lole_pdf.cOption("AutosaveStartStandardProgram", 0) // 0 ou 1 ça dépend si tu veux ouvrir le pdf ou non lole_pdf.cClearCache() dw_saisie.SetRedraw(False) dw_saisie.Object.DataWindow.Zoom = 100 dw_saisie.Print() dw_saisie.SetRedraw(True) do while long(lole_pdf.cCountOfPrintjobs()) <> 1 yield() loop lole_pdf.cPrinterStop(False) do while long(lole_pdf.cCountOfPrintjobs()) > 0 yield() loop lole_pdf.cClose() destroy lole_pdf
Sa fonctionne parfaitement et comme tu dis on touche pas au registre !
Merci beaucoup _francois_
Hors ligne
Bonjour à tous,
je déterres un peu le poste, mais je me suis aperçu, qu'au dessus de la version 1.7.3 de PDF Creator, cela ne fonctionne plus.
Des personnes dans mon cas, ont-ils résolu ce problème?
Merci
Hors ligne
Bonjour,
Pas besoin de pdf creator en fait.
J'ai détaillé les choses récemment ici : http://pbadonf.fr/forum/viewtopic.php?pid=35570#p35570
Hors ligne
erasorz a écrit:
Bonjour,
Pas besoin de pdf creator en fait.
J'ai détaillé les choses récemment ici : http://pbadonf.fr/forum/viewtopic.php?pid=35570#p35570
C'est un peu trop contraignant en entreprise.
PDF Creator est installé par défaut sur les postes.
Hors ligne
billyboy94 a écrit:
erasorz a écrit:
Bonjour,
Pas besoin de pdf creator en fait.
J'ai détaillé les choses récemment ici : http://pbadonf.fr/forum/viewtopic.php?pid=35570#p35570C'est un peu trop contraignant en entreprise.
PDF Creator est installé par défaut sur les postes.
C'est pas si contraignant que ça en fait.
L'avantage c'est que tu n'as besoin d'aucun logiciel tiers, ça évite les dépendances et le genre de problèmes liés aux versions/updates que tu subis.
Hors ligne
erasorz a écrit:
billyboy94 a écrit:
erasorz a écrit:
Bonjour,
Pas besoin de pdf creator en fait.
J'ai détaillé les choses récemment ici : http://pbadonf.fr/forum/viewtopic.php?pid=35570#p35570C'est un peu trop contraignant en entreprise.
PDF Creator est installé par défaut sur les postes.C'est pas si contraignant que ça en fait.
L'avantage c'est que tu n'as besoin d'aucun logiciel tiers, ça évite les dépendances et le genre de problèmes liés aux versions/updates que tu subis.
Oui et non
Ça impose au centre informatique de faire un ghost et/ou d'installer Ghostscript et les driver imprimante HP.
Etant seulement prestataire là ou je suis, cela n'est pas faisable.
Hors ligne
Il y a aussi le fait que le "SaveAs PDF" sous PB 8 n'existe pas!
Les migrations vers une version supérieur de PB sont prévu, mais pas dans l'imédiat.
Donc en attendant, je ne peux pas faire autrement que d'utiliser PDF Creator.
Dernière modification par billyboy94 (25-03-2015 21:04:19)
Hors ligne
billyboy94 a écrit:
Oui et non
Ça impose au centre informatique de faire un ghost et/ou d'installer Ghostscript et les driver imprimante HP.
Etant seulement prestataire là ou je suis, cela n'est pas faisable.
Ghostscript : tu déploies uniquement les dll/exe dans le chemin de l'appli
Les imprimantes sont des imprimantes "standards" incluses dans les distrib de windows.
Il n'y a aucune installation en tant que telle.
Hors ligne