FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Une calculatrice en une ligne de programme
Imprimer le contenu d'une page avec: WBcreat. Emptypar jean_debord Aujourd'hui à 8:47

» Form(résolu)
Imprimer le contenu d'une page avec: WBcreat. Emptypar leclode Hier à 17:59

» trop de fichiers en cours
Imprimer le contenu d'une page avec: WBcreat. Emptypar Marc Hier à 11:42

» Bataille navale SM
Imprimer le contenu d'une page avec: WBcreat. Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Gestion d'un système client-serveur.
Imprimer le contenu d'une page avec: WBcreat. Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Imprimer le contenu d'une page avec: WBcreat. Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Imprimer le contenu d'une page avec: WBcreat. Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Imprimer le contenu d'une page avec: WBcreat. Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Imprimer le contenu d'une page avec: WBcreat. Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Imprimer le contenu d'une page avec: WBcreat. Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Imprimer le contenu d'une page avec: WBcreat. Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Imprimer le contenu d'une page avec: WBcreat. Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Imprimer le contenu d'une page avec: WBcreat. Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Imprimer le contenu d'une page avec: WBcreat. Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Imprimer le contenu d'une page avec: WBcreat. Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
-20%
Le deal à ne pas rater :
Ecran PC GIGABYTE 28″ LED M28U 4K ( IPS, 1 ms, 144 Hz, FreeSync ...
399 € 499 €
Voir le deal

 

 Imprimer le contenu d'une page avec: WBcreat.

Aller en bas 
2 participants
AuteurMessage
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyMer 25 Nov 2020 - 16:16

Comment faire pour imprimer une page créée sur une Form avec WBCreate.
Je vois pour dessiner des cercles, rectangle, mais une page créé avec ta fonction?

Ne te précipites pas, pour l'instant je me sers de mon navigateur, et maintenant je ne reviens pas avant ce soir.

Merci
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyMer 25 Nov 2020 - 16:40

WBCreate sert à créer un WebBRowser. donc, tu veux imprimer l'image d'une page WebBrowsern et ce sans un fichier PDF ?

Une solution consiste à créer un objet Panoramic IMAGE.
Puis, tu utilises la nouvelle fonction CopyObjectByHandle (documentation dans la section "Gestion des images") pour copier l'image de la page web dans le presse_papier, en spécifiant le handle du WebBrowser.
Puisn tu utilises la commande Panoramic ClipboardPaste pour copier le presse-papier dans l'objet IMAGE.
Puis, tu utilises la commande Panoramic Save_To_File pour enregistrer l'image dans un fichier.
Et enfin, tu as maintenant deux options:
1. tu utilises la fonction PrintFormattedPDF avec une seule commande BACKGROUND pour ce nom de fichier ce ui te remplira la page DIN A4 avec l'image de la page Web
2. tu utilises la fonction PrintFormattedPDF avec autant de commandes que tu veux, mais en imprimant le fichier enregistré par la commande IMAGE de la fonction PrintFormattedPDF. Là, tu peux choisir la position et des dimensions de l'image résultante dans la page PDF. Tu peux ainsi poser du texte autour, etc.

Les option (1) et (2) demandent le nom du fichier. Soit tu le mets directement dans la commande, comme
Code:
Background,mon image de fond.jpg
ou
Code:
Image,835,1200,400,300,MonImage.jpg
(position en [835,1200] et dimensions [400,300])

soit tu places ce nom de fichier dans une chaîne de caractères dont tu passes l'adresse comme deuxième paramètre à PrintFormattedPDF, et tu remplaces le nom de fichier dans les exemples ci-dessus par #1. Le premier paramètre est bien sûr le handle d'un MEMO (invisible) contenant la liste des commandes PrintFormattedPDF.

Et voilà - le tour est joué.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyMer 25 Nov 2020 - 19:03

J'ai eu le temps de venir 10 mn

Je ne trouve pas la fonction CopyObjectByHandle dans KGF.
J'ai la version 938 du 22 nov.
Revenir en haut Aller en bas
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyMer 25 Nov 2020 - 19:27

Désolé Klaus, j'avais bien la bonne dll mais j'ai ouvert un ancien fichier kgf.chm. Il faudra que je mettre de l'ordre la dedans.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyMer 25 Nov 2020 - 23:29

Il suffit juste de recharger KGF.chm à partir de la signature de mon post, ou d'utiliser l'aide en ligne également accessible via ma signature.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyJeu 26 Nov 2020 - 0:46

Merci, j'avais compris.

J'avais choisi un mauvais dossier, car avec le temps et les différentes  rétablissement de windows, j'ai plusieurs kgf.

Cela dit j'essaye de charger un document html dans WB_... créé dans une Form, pour faire des essais, et je n'y arrive pas.

Tout cela pour comprendre pourquoi je ne copie rien.
L'image me retourne un fichier vide.

Dans mon programme après avoir rempli le browser WB,
J'ai bien la copie d'une image qui correspond à ma demande, mais avec la fonction: CopyObjectByHandle
j'ai
Code:
form 300:full_space 300 : hint 300,300
         x%=width(300)-30:y%=height(300)-90
         hnd% = handle(300)
         res% = dll_call1("WBCreate",hnd%) : ' créer un objet WebBrowser dans la form 0
         res% = dll_call4("WBLocate",0,0,x%,y%)  : hide 300
image 301 : '  stretch_on 301image ou picture donne la même erreur
memo 302:bar_both 302:hide 302

et

Code:
print_html:
   filter 55,"Lecture courrier html|*.html"
   htm$=file_name$(55) : clear 302
   if htm$<>"_"
      nom$=string$(255," ")
      res% = DLL_call2("SelectWindowsPrinter",adr(nom$),len(nom$))
Imag% = handle(301)
      res% = dll_call1("CopyObjectByHandle",Imag%) : message "-1 = erreur res%="+str$(res%) :' IMAGE ou PICTURE erreur idem
  

Je reçois le message
[Content]
(29) Expression arithmétique incorrecte : Fonction non applicable pour ce type d'OBJET. Line : 534

Que je mette le handle de WB celui d'un picture ou d'un objet image, j'ai toujours la même erreur

Edit: la ligne 534 est celle-ci
res% = dll_call1("CopyObjectByHandle",Imag%)
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyJeu 26 Nov 2020 - 1:13

Oui, c'est normal... il faut faire:
Code:
res% = dll_call1("CopyObjectByHandle",handle(300))
puisque tu veux copier l'image de la form 300 dans le presse-papier.

Ensuite, tu peux dérouler la suite normalement:
clipboard_paste 301
file_save 301,...
etc.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyJeu 26 Nov 2020 - 1:58

Oui ça ne bloque plus et res% = 0 donc plus d'erreur.

Seulement la suite:

Code:
     clipboard_paste 301
      file_save 301,dossier$+"Picture.bmp"   :'  =====---->>>> Le fichier: 0 octet
      ' res% = DLL_call4("PrinterManager",f%,adr(phnd%),adr(hnd%),opt%)
       item_add 302,"Background,"+dossier$+"Picture.bmp":
      Pdf$ = dossier$+"imprime.pdf"
      res% = dll_call5("PrintFormattedPDF",handle(302),adr(TxtPars$),adr(Intpars%),adr(FloatPars),adr(PDF$))

301 est : IMAGE 301 ,  MEMO 302
Je devrais donc avoir une copie dans image, mais le fichier est vide.
Et la suite?
Est-ce que en dehors des déclarations de variables, est-ce qu'il faut mettre quelque chose dans celles-ci? Il n'y a que l'image qui m'intéresse.

Merci pour m'avoir répondu.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyJeu 26 Nov 2020 - 2:26

Essaie de déclarer l'objet 301 comme PICTURE au lieu de IMAGE, et tu fais STRETCH_ON 301. Place ce picture dans ta form 0 et garde-le visible. L'image devrait y apparaître.

Pour vérifier, fais
Code:
res% = dll_call1("CopyObjectByHandle",0)
Tu devrais obtenir une copie de l'écran complet, et la suite devrait marcher dans ce cas.

Ah, je crois que j'ai compris.

Tu caches le WebBrowser, et la page HTML n'est donc pas visible dans la form 300. Et donc, l'image captée et vide, bien sûr. Essaie de ne las cacher le WebBrowser, on verra le résultat. Ensuite, il y a deux options:
1. tu peux cacher la form 300 au lieu du WebBrowser
2. au lieu de passer handle(300), tu fais
Code:
hnd% = dll_call1("WBFunction",8)  : ' retourne le handle du WebBrowser
res% = dll_call1("CopyObjectByHandle",hnd%)  : ' prendre directementle WebBrowser


Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyJeu 26 Nov 2020 - 3:09

Merci, oui ça avance. Le problème est que je n'ai qu'une portion d'image. J'avais mid l'échelle du brower sur celle de la fenêtre, Donc je vois qu'il va falloir que je le mettre selon A4.

Mais ensuite j'ai mis juste un message avant:
Code:
res% = dll_call5("PrintFormattedPDF",handle(302),adr(TxtPars$),adr(Intpars%),adr(FloatPars),adr(PDF$))
car sinon il y a erreur sans éclair. Donc je bloque panoramic à ce niveau.

Je ne sais pas (en dehors de déclarer les variables TxtPars$,IntPar$%,FloatPars, si il faut remplir quelque chose pour une image.

Je suis désolé mais j’aurais du arrêter depuis un moment, je dois me lever de bonne heure.

Sleep
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyJeu 26 Nov 2020 - 8:28

Pour la taille, il y a une solution, par la commande image, dont la syntaxe est:
Code:
Image,x,y,w,h,nom
Avec cette commande, tu places l'image où tu veux, et tu peux donner les dimensions en largeur ey hauteur. C'est peut-être la solution pour ton problème d'image partielle. L'impression se fait en appliuant le STRETCH de façon automatique, de sorte à avoir toujours l'mage complète.

Mais je pense le l'mage partielle est plutôt provoquée par le code Panoramic. Tu utilises maintenant un PICTURE pour l'objet 301, non ? Alors, il faut surtout faire
Code:
stretch_on 301
avant le clipboard_paste. Ainsi, tu auras l'image compléte. Et su tu veux éviter les déformations, il faut, au préalable, donner les mêmes dimensions à l'objet 301 que celles de la fenêtre 300. Ou du moins, donner des dimensions dont le rapport hauteur sur largeur soit le même. Ainsi, STRECH_ON ne déformera pas.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyVen 27 Nov 2020 - 0:09

Bonsoir Klaus,
J'ai préféré faire des testes avant de répondre.
Finalement, ce que je constate, est quoi que je fasse avec picture, image stretch_on ou pas et dimensionner picture de différente façon (picture pour se qui se passe), et bien je ne copie que la hauteur de l'écran du browser, le reste en bas n'est pas présent.

Je me demande s'il n'y aurait pas une possibilité de faire une rotation du WB_ pour voir le texte couché dans une page.

Ce qui serait bien est d'avoir une commande qui imprime directement en pdf un browser. Mais ça c'est du travail que je ne veux pas t'imposer. Une question: comment savoir la hauteur qui est écrite dans le browser? car en sachant cela (évidemment il faut tester) on pourrait peut-être dimensionner le picture en rapport à la hauteur du texte Non vu que picture c'est pour remplacer image.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyVen 27 Nov 2020 - 0:37

Je vais prendre un peu de temps pour tester cela, et je reviendrai vers toi lorsque j'aurai du nouveau.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyVen 27 Nov 2020 - 16:04

Bonjour Klaus.

Je viens de tester ta réponse faite ICI

Et bien le résultat reste entier. Seule la partie de la fenêtre est copiée.
Voici après avoir dé-zoomée ce que j'obtiens:

Imprimer le contenu d'une page avec: WBcreat. Captur31

Le reste c'est du blanc.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. EmptyVen 27 Nov 2020 - 16:08

Ben... oui, c'est ce que je disais. Pour l'affichage d'une fenêtre, Windows prépare une bitmat contrnant exclusivement la partie visible de cette fenêtre. Même si le contenu "logique" est plus vaste, ce n'est pas affiché, et donc la bitmap n'est pas préparée. Et ma fonction capte la bitmap de l'objet dont on passe le handle.

Actuellement, je ne vois pas du tout comment prendre l'image de la "page entière" alors qu'elle n'est pas affichée.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Imprimer le contenu d'une page avec: WBcreat. Empty
MessageSujet: Re: Imprimer le contenu d'une page avec: WBcreat.   Imprimer le contenu d'une page avec: WBcreat. Empty

Revenir en haut Aller en bas
 
Imprimer le contenu d'une page avec: WBcreat.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» imprimer avec Print.dll
» Form avec onglets de page
» d'une page HTML à une page DOCX
» imprimer
» contrôler contenu d'un edit

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: