Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
J'ai besoin de votre aide pour faire une sauvegarde imagée d'une datawindow.
Tout d'abord je tient à préciser qu'il s'agit d'une datawindow composite que je veux sauvegarder.
J'ai d'abord tenté un simple SaveAs mais le résultat obtenu m'a assez surpris :
- Sauvegarde en PSReport! j'avais des lignes de mon code source dans le fichier sauvegardé
- Tous les autres types de sauvegarde je n'avais qu'un seul caractère inscrit dans mon fichier --> "a"
J'essaie donc de me tourner vers une autre solution et l'option d'utiliser l'imprimante "Microsoft Office Document Image Writer" me vient à l'idée.
Je teste manuellement en codant :
PrintSetup()
l_i_code_retour = dw_reediter_lettre.Print(true)
Ce bout de code me convient parfaitement mais maintenant il faudrait que je puisse forcer la selection de l'imprimante et la location de sauvegarde du fichier mdi
Avez vous des idées sur les fonctions qu'il faut utiliser pour resoudre mon problème.
Par avance merci
Hors ligne
Nephtis a écrit:
- Sauvegarde en PSReport! j'avais des lignes de mon code source dans le fichier sauvegardé
le PSR sauvegarde la DW + les données
Nephtis a écrit:
- Tous les autres types de sauvegarde je n'avais qu'un seul caractère inscrit dans mon fichier --> "a"
c'est certainement un composite (?)
Hors ligne
erasorz a écrit:
Nephtis a écrit:
- Sauvegarde en PSReport! j'avais des lignes de mon code source dans le fichier sauvegardé
le PSR sauvegarde la DW + les données
J'avais cru que ça sauvegardait la mise en forme un peu comme si on voulait sauvegarder un rtf
erasorz a écrit:
Nephtis a écrit:
- Tous les autres types de sauvegarde je n'avais qu'un seul caractère inscrit dans mon fichier --> "a"
c'est certainement un composite (?)
Je l'ai ecrit dans ma troisième ligne
Sinon pas d'idée sur des fonctions qui permettent de parametrer les options de l'imprimante à l'avance?
Dernière modification par Nephtis (13-05-2008 13:10:49)
Hors ligne
Tu ne peux pas définir ça au niveau de l'onglet "Print Specifications" dans les propriétés de ta datawindow?
[Edit]
Ah, non, c'est la sélection du bac de l'imprimante, pas celle de l'imprimante elle-même
Hors ligne
foon a écrit:
Tu ne peux pas définir ça au niveau de l'onglet "Print Specifications" dans les propriétés de ta datawindow?
On peut éditer l'orientation de l'impression, le type de papier utilisé, le bac utilisé, le titre de l'impression (dans les en-tete) mais malheuresement pas la selection de l'imprimante ni le chemin de destination du fichier à sauvegarder Sinon tenter de sauvegarder cette datawindow composite sous forme de pdf serait il compliqué en terme de temps (j'ai environ 2 jours pour trouver une solution )?
Bon j'ai trouvé aussi pour ce problème il me suffit de passer par l'imprimante "CutePDF Writer" mais bon ça m'avance pas énormément
Dernière modification par Nephtis (13-05-2008 13:34:58)
Hors ligne
dw_report.Object.DataWindow.Export.PDF.Method = Distill! dw_report.Object.DataWindow.Printer = 'nom_de_l_imprimante' dw_report.Object.DataWindow.Print.DocumentName = 'nom_du_document' dw_report.Object.DataWindow.Export.PDF.Distill.CustomPostScript = 'Yes' li_result = dw_report.SaveAs( 'chemin_et_nom_du_fichier', PDF!, True )
chez moi, nom de l'imprimante = 'Sybase DataWindow PS' (dans la doc il est décrit comment l'installer)
Hors ligne
Arf
Je suis en PB6.5 et la variable énumérée Distill! il connait pas mon PB (je suppose que tu doit être au moins sous la 10.5 voire la 11)
Hors ligne
petite info : si c'est pour pouvoir la ré-afficher dans une appli PB, le PSR conviendrait, puisque tu peux charger une DW avec un PSR précédemment exporté :
dw_report.DataObject = 'chemin_et_nom_du_fichier-psr'
Hors ligne
si tu veux créer un PDF se basant sur ta composite, tu peux telecharger Ghostscript
et mettre le fichier dans le repertoire Sybase/shared
Hors ligne
erasorz a écrit:
petite info : si c'est pour pouvoir la ré-afficher dans une appli PB, le PSR conviendrait, puisque tu peux charger une DW avec un PSR précédemment exporté :
Code: pb
dw_report.DataObject = 'chemin_et_nom_du_fichier-psr'
C'est pour joindre la datawindow en pièce jointe d'un e-mail
si tu veux créer un PDF se basant sur ta composite, tu peux telecharger Ghostscript
et mettre le fichier dans le repertoire Sybase/shared
Je vais regarder comment marche GhostScript et je ferait un compte rendu.
Merci pour l'idée d'utiliser ce logiciel
Hors ligne
Bon j'ai du faire du code pas super beau puisque même en instalant GhostScript j'ai vu sur le forum qu'il fallait utiliser à peu près le même bout de code que celui donné par Eraszor donc pas de variable enumérée Distill! pour moi
J'ai du créer une nouvelle datawindow de type freeform cette fois et je l'ai alimentée avec les données contenue dans ma datawindow composite champ par champ.
Ensuite un petit SaveAs au format WMF! et c'est bon
Hors ligne
Nephtis a écrit:
Bon j'ai du faire du code pas super beau puisque même en instalant GhostScript j'ai vu sur le forum qu'il fallait utiliser à peu près le même bout de code que celui donné par Eraszor donc pas de variable enumérée Distill! pour moi
WMF! et c'est bon
c'est normal, en fait cette fonctionnalité est apparue avec la version 9 et tu utilises la 6.5
je propose de créer une rubrique "Jurassic park"
Hors ligne