Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Environnement : PB9 build 5507
Bonjour,
J'essaie d'exporter une DataWindow (composée de Nested) vers le format PDF avec le code suivant :
DataWindowChild dwreport_mat,dwreport_tps,dwreport_entete,dwreport_recap dw_imprime.GetChild("dw_entete", dwreport_entete) dw_imprime.GetChild("dw_mat", dwreport_mat) dw_imprime.GetChild("dw_tps", dwreport_tps) dw_imprime.GetChild("dw_recap", dwreport_recap) tab_1.tabpage_gestion.dw_gestion.ShareData(dwreport_entete) tab_1.tabpage_prix_revient.dw_matiere.ShareData(dwreport_mat) tab_1.tabpage_prix_revient.dw_temps.ShareData(dwreport_tps) tab_1.tabpage_prix_revient.dw_recap.ShareData(dwreport_recap) dw_imprime.Object.DataWindow.Export.PDF.Method = Distill! dw_imprime.Object.DataWindow.Export.PDF.Distill.CustomPostScript="Yes" ls_ret =dw_imprime.Modify("datawindow.Export.PDF.Method = '1'") ls_ret =dw_imprime.Modify("datawindow.Export.PDF.xslfop.print=no") dw_imprime.SaveAs("C:\toto.pdf",PDF!,FALSE)
J'ai installé GhostScript sur ma machine.
Cela ne fonctionne pas
Quelqu'un a une idée?
Merci
Dernière modification par JCZ (23-10-2007 13:08:10)
Hors ligne
dw_source.Object.DataWindow.Export.PDF.Method = Distill! dw_source.Object.DataWindow.Export.PDF.Distill.CustomPostScript="No" dw_source.SaveAs(ls_path_fichier, PDF!, true)
de mon côté jutilise ça et ça fonctionne bien
Hors ligne
et tu as un message d'erreur ?
est ce que le répertoire dans lequel est installé GhostScript figure bien dans ton path wibndows ?
Hors ligne
Après divers paramétrage, cela fonctionne bien avec une DataWindow seule.
Par contre avec une dataWindow composée de différentes Nested, la fonction SaveAs me renvoit -1 et le fichier PDF n'est pas généré.
Une idée?
Merci
Hors ligne
Bonjour,
Nous utilisons le pdf de GhostScript avec une datawindow composite contenant une 10 ene de sous report, et cela fonctionne très bien.
Es ce tu as bien une imprimante de type distiller sur ton poste ?
Che nous ça fonctionne avec ce code :
dw_xx.Object.DataWindow.Export.PDF.Method = Distill! dw_xx.Object.DataWindow.Export.PDF.Distill.CustomPostScript = 'Yes' dw_xx.Object.DataWindow.Printer = "Acrobat Distiller" //doit correspondre au nom de l'imprimante sur le poste (dans imprimante et télécopieur).
Hors ligne
J'ai résolu le problème,
J'ai installé une imprimante de type Postscript (Lexmark Color 4079 Plus PS).
Je fais ensuite une impression via cette imprimante (fichier postscript).
Enfin, je lance la convertion du fichier en PDF via GhostScript.
Avec ce système, mes datawindow avec wouatmille nested sont parfaitement converties (et en couleur en plus).
Merci piour tout.
On peut donc dire que le problème est résolu.
Dernière modification par cantin_jl (23-10-2007 06:42:54)
Hors ligne
Bonjour cantin_jl,
Pourrais-tu ajouter le label [RESOLU] au titre de ce topic? C'est pour faciliter les recherches
des autre PBDonfeurs.
d'avance
Hors ligne
foon a écrit:
Bonjour cantin_jl,
Pourrais-tu ajouter le label [RESOLU] au titre de ce topic? C'est pour faciliter les recherches
des autre PBDonfeurs.
d'avance
J'ai mis [RESOLU] en en-tête du premier message, ce n'est pas la bonne manip?
Hors ligne
Non, il faut que tu modifies le titre du topic lui-même
Hors ligne
foon a écrit:
Non, il faut que tu modifies le titre du topic lui-même
Désolé mais je ne vois pas où changer le topic de mon message...
Hors ligne
Je vais le faire
il y a en bas du premier message 'Modifier'
@+
Hors ligne
cantin_jl a écrit:
foon a écrit:
Non, il faut que tu modifies le titre du topic lui-même
Désolé mais je ne vois pas où changer le topic de mon message...
C'est simple: tu te positionnes sur le premier message du topic, et tu cliques sur "Modifier": le message, et le titre du topic deviennent alors accessibles en modification.
Hors ligne
foon a écrit:
cantin_jl a écrit:
foon a écrit:
Non, il faut que tu modifies le titre du topic lui-même
Désolé mais je ne vois pas où changer le topic de mon message...
C'est simple: tu te positionnes sur le premier message du topic, et tu cliques sur "Modifier": le message, et le titre du topic deviennent alors accessibles en modification.
Merci, je le saurai pour une prochaine fois.
Hors ligne
Voci ce que j'ai fait moi :
Config du pc :
- installation de pdf créator sur chaque poste client
- nom de l'imprimante : pdfcreator
Création d'un objet UO pour ma fonction :
- objet : nv_cpni_spool
Création d'une fonction :
- of_export_pdf dans mon UO
/* ================================================= Export d'une datawindow au format PDF Reçoit en paramètres : - adw_dw => nom de la datawindow - as_nom_fichier => nom du fichier - as_chemin => chemin du fichier Renvoit un integer : - 1 => Export terminé - 0 => Problème export ================================================= */ int li_result string ls_nom_fichier string ls_chemin // Récupération des paramètres ls_nom_fichier = as_nom_fichier ls_chemin = as_chemin + ls_nom_fichier + '.pdf' // Création du PDF adw_dw.Object.DataWindow.Export.PDF.Method = Distill! adw_dw.Object.DataWindow.Printer = 'PDFCreator' adw_dw.Object.DataWindow.Print.DocumentName = ls_nom_fichier adw_dw.Object.DataWindow.Export.PDF.Distill.CustomPostScript = 'Yes' // Sauvegarde du devis sur le disque li_result = adw_dw.SaveAs(ls_chemin, PDF!, True ) // Fin de traitement If li_result > 0 then messagebox('Export PDF','Export PDF terminé') return 1 else messagebox('Export PDF','Problème lors de la création du PDF') return 0 end if
Création de mon appel :
- Dans une window appelé w_job j'ai inséré une datawindow appelé dw_job
- Ma fonction est appelé sur l'évenement cliked de mon bouton que j'ai créé.
int li_retour string ls_nom_fichier string ls_chemin nv_cpni_spool lnv_cpni_spool lnv_cpni_spool = create nv_cpni_spool ls_nom_fichier = 'test-pdf' ls_chemin = 'c:\temp\' li_retour = lnv_cpni_spool.of_export_pdf(dw_job, ls_nom_fichier,ls_chemin)
Dernière modification par raubry (30-12-2010 21:27:49)
Hors ligne
Merci pour le retour, mais svp
Hors ligne