Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
peut-on gérer des fonds de page dans une datawindow et l'imprimer ???
Nous avons beaucoup de demander sur la présentation de document (impression de tableaux à longueur variable où nous devons dessiner le cadre). Avec les datawindows, ce n'est pas très pratique. Existe-t-il d'autres solutions pour éditer.
De même, nous utilisons l'export pdf pour une datawindow. Mais quand la datawindow contient d'autres datawindows, le fichier pdf créé ne contient que la première, pourquoi ?
Je vous remercie d'avance pour les réponses
Cordialement
Norbert
Hors ligne
le_gone_de_lyon a écrit:
impression de tableaux à longueur variable où nous devons dessiner le cadre
tu peux préciser un peu ? dw composite, grid ? cadre autour des données, de la dw ?
De même, nous utilisons l'export pdf pour une datawindow. Mais quand la datawindow contient d'autres datawindows, le fichier pdf créé ne contient que la première, pourquoi ?
pour ma part je n'ai pas de soucis de ce type pour générer des pdf de composites avec plusieurs dw et plusieurs niveaux d'imbrication...
quelle méthode de génération de pdf utilises-tu ?
Hors ligne
Merci de ta réponse eRaSorz
Voici des précisions
En ce qui concerne la génération des pdf, c'est pire que ça,
car quand on lance le script, on récupère une erreur (-1)
et le fichier pdf généré est vide et on ne peut pas le supprimer
Script :
dw_imp.Object.DataWindow.Export.PDF.Method = Distill! dw_imp.Object.DataWindow.Export.PDF.Distill.CustomPostScript="Yes" dw_imp.Modify("datawindow.Export.PDF.Method = '1'") dw_imp.Modify("datawindow.Export.PDF.xslfop.print=no") ll_ret = dw_imp.SaveAs(f_string("c:\nono.pdf"), pdf!, true) ==> ll_ret = -1 messagebox("retour", "ll-ret="+string(ll_ret))
cordialement
Hors ligne
Peut-être car dans ton code tu ne spécifies la propriété Printer
(par ailleurs Export.PDF.Method
est assigné deux fois... )_
Voici un exemple de script :
dw_report.Object.DataWindow.Export.PDF.Method = Distill! dw_report.Object.DataWindow.Printer = 'CutePDF' dw_report.Object.DataWindow.Print.DocumentName = 'nom_du_document' dw_report.Object.DataWindow.Export.PDF.Distill.CustomPostScript = 'Yes' li_result = dw_report.SaveAs( 'nom_du_pdf', PDF!, True )
J'ai rajouté ça pour "libérer" l'imprimante suite à un bug observé :
dw_report.Object.DataWindow.Printer = ''
Hors ligne
Bonjour,
J'ai essayé la méthode de eRaSorZ mais cela ne marche toujours pas.
Par contre, je ne comprends pas pourquoi utilisé 'CutePDF' comme nom d'imprimante, donc cela suppose d'avoir le logiciel 'CutePDF' pour utiliser le saveas.
Dans notre exemple, nous avons une datawindow 'entete_facture' qui fait appel à une datawindow 'ligne_facture' qui elle même lance d'autres datawindows 'ligne_commentaire' , 'ligne_frais'
En résumé c'est une datawindow (tres complexe) dont on demande à générer une sortie au format pdf.
Existe-t-il des logiciels permettant de générer des pdfs sans passer par une boite de dialogue (imprimante) ?
(même principe qu'un saveas au format pdf de PB)
Cordialement
Norbert
Hors ligne
le_gone_de_lyon a écrit:
Par contre, je ne comprends pas pourquoi utilisé 'CutePDF' comme nom d'imprimante, donc cela suppose d'avoir le logiciel 'CutePDF' pour utiliser le saveas.
CutePDF (gratuit) ou tout autre générateur de PDF est nécessaire pour transformer le postscript en pdf...
Existe-t-il des logiciels permettant de générer des pdfs sans passer par une boite de dialogue (imprimante)
C'est précisement le cas avec l'exemple donné...
Hors ligne
--------------------------------------------------------------------
Bonjour, peut-on considérer que le problème est Résolu ?
--------------------------------------------------------------------
Hors ligne
Bonjour,
On peut dire que le problème est résolu
Hors ligne