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 15: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"
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 08: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
int li_result string ls_nom_fichier string ls_chemin ls_nom_fichier = as_nom_fichier ls_chemin = as_chemin + ls_nom_fichier + '.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',) return 1 else messagebox('Export 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 22:27:49)
Hors ligne
Merci pour le retour, mais svp
Hors ligne