Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| DLL Print | |
| | |
Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Dim 8 Jan 2012 - 15:22 | |
| Tant que tu y es, jette un coup d'oeil sur Histo.dll (voir le nouveau fil de discussion pour mon site) - les histogrammes générés peuvent être imprimés également par WTP... | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Dim 8 Jan 2012 - 15:55 | |
| Je vais regarder ça aussi, ça m'intéresse également. Là je teste WTP.exe, j'ai été bêtement un peu bloqué parce que j'avais appelé un fichier Prn.txt, et Panoramic n'en veut pas (voir rubrique Aide), ça doit être un nom réservé ! J'ai de petits problèmes avec WTP, ça imprime mais pas comme il faut. Mon image de test: Le programme: - Code:
-
' TestWTP.bas LABEL Imprime DIM wtp$, fpr$, img$, txt$, xi%, yi%, wi%, hi%, xt%, yt%, mm2pix, a$, k%
wtp$ = "C:\UTIL\WTP.exe ": ' WinTextPrint de Klaus fpr$ = "C:\Temp\Fprn.txt": ' fichier d'impression pour WinTextPrint img$ = "C:\Graph\Jpg\640x480.jpg"
mm2pix = 2362/100: ' pixels par mm, à 600 dpi (= 600/25.4) xi% = 100: yi% = 60: ' coin supérieur gauche de l'image, en mm wi% = 80: hi% = 60: ' dimensions de l'image, en mm txt$ = "Légende de l'image" xt% = xi%: yt% = yi% + hi%: ' position du texte sous l'image ' actuellement, l'image est dilatée en hauteur de environ 7mm, soit 165 pixels hi% = hi%-7: ' CORRECTION PROVISOIRE GOSUB Imprime PRINT "Terminé !" END
Imprime: FILE_OPEN_WRITE 1, fpr$ ' FILE_WRITELN 1, "<#orientation=Portrait#>": ' Orientation ' FILE_WRITELN 1, "<#mod=NB#>": ' Noir et Blanc FILE_WRITELN 1, "<#font="+CHR$(34)+"Lucida Console"+CHR$(34)+"#>" FILE_WRITELN 1, "<#fontsize=10#>" a$ = "<#image=" + img$ + "," ' ôter éventuellement les 3mm de marge non imprimable gauche et haut k% = (xi%-3) * mm2pix: a$ = a$ + STR$(k%) + "," k% = (yi%-3) * mm2pix: a$ = a$ + STR$(k%) + "," k% = wi% * mm2pix: a$ = a$ + STR$(k%) + "," k% = hi% * mm2pix: a$ = a$ + STR$(k%) + "#>" FILE_WRITELN 1, a$ k% = xt% * mm2pix: a$ = "<#posabs=" + STR$(k%) + "," k% = yt% * mm2pix: a$ = a$ + STR$(k%) + "#>" FILE_WRITELN 1, a$ + txt$ FILE_CLOSE 1 EXECUTE_WAIT wtp$ + "/file=" + fpr$ + " /noshow" RETURN Tout d'abord (ça m'a trompé au début) les dimensions sont à donner en pixels, ce qui est normal (mais dans la doc de WinTextPrint on était passés des pixels aux millimètres... j'étais resté là-dessus). L'image semble s'imprimer au bon endroit, mais elle est déformée, comprimée en largeur ou dilatée en hauteur. Le posabs du texte est incorrect: il s'imprime en x=0, le y semble correct mais c'est l'image qui déborde sur le texte. Je réessaye plus posément. Curieusement, il semble que la dilatation en hauteur soit constante, quelle que soit la hauteur demandée: environ 165 pixels, soit environ 7 mm. PS j'aurais sans doute dû ouvrir un fil spécial pour WTP, là je pollue Print.dll. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: DLL Print Dim 8 Jan 2012 - 19:17 | |
| Détend toi, il n'y a pas de censure ou de contrôle anti pollution, ça reste quand même une sujet lié... ce n'est pas mortel ^^ | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Dim 8 Jan 2012 - 20:03 | |
| | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: DLL Print Dim 8 Jan 2012 - 20:09 | |
| 640 x 480 ce n'est pas un carré, donc le cercle inscrit est forcément déformé non ? J'ai pas dû bien suivre peut-être^^
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Dim 8 Jan 2012 - 20:22 | |
| Voici ce que j'obtiens (j'ai placé le résultat dans un fichier PDF). Je n'ai pas l'impression que l'image est déformée, et le libellé s'écrit en-dessous. EDIT J'ai trouvé ta correction, et j'ai pu reproduire ton problème. Je regarde cela. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Dim 8 Jan 2012 - 20:47 | |
| @exdragon, c'est vrai que 640x480 n'est pas un carré, mais comme j'ai joint l'image originale en question, tu as peut-être remarqué aussi que le cercle n'emplit pas entièrement l'image ? et qu'il est bien rond ?
@Klaus effectivement avec la correction ça marche... provisoirement. Pour le texte, je ne sais pas ce que j'avais fabriqué avec ma première mouture de test mais il se mettait toujours à gauche, maintenant ça marche, c'est correct. | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: DLL Print Dim 8 Jan 2012 - 22:37 | |
| - Citation :
- tu as peut-être remarqué aussi que le cercle n'emplit pas entièrement l'image ?
Heu...désolé, je suis trop bête des fois^^ (surtout en ce moment où je fatigue pas mal) - Citation :
- et qu'il est bien rond ?
Non tu as raison je ne le vois pas rond moi. Mais bon, c'est peut-être mes yeux^^ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Dim 8 Jan 2012 - 23:05 | |
| ou ton écran qui déforme... | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 0:35 | |
| Oui, heu..c'est l'écran... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 1:39 | |
| J'ai trouvé, et j'ai corrigé WTP.exe que j'ai remis en ligne. Le problème était ma mauvaise compréhension de la fonction RECT(...) de Delphi. Maintenant, ça va mieux. Mais je te remets aussi ton programme modifié, car je pense que tu n'as pas remarqué le sens de la directive <#unit_mm=etat,coeff#> Par défaut, état est "on" et coeff = 56,7. Tu as donc fatalement un conflit avec le coefficient que tu definis pour passer de mm à pixels. Je te suggère (et je l'ai fait dans le programme modifié ci-après) d'émettre une directive <#unit_mm=on,23.62#>. Du coup, ton facteur mm2pix devient obsolète (je l'ai passé à 1 pour ne pas tout changer). Et le décalage de 7 mm (qui était dû au conflit entre les deux facteurs de conversion) a disparu également. J'ai marqué mes modifs avec un commentaire KLAUS. Voici le programme qui marche: - Code:
-
' TestWTP.bas LABEL Imprime DIM wtp$, fpr$, img$, txt$, xi%, yi%, wi%, hi%, xt%, yt%, mm2pix, a$, k%
wtp$ = "WTP.exe ": ' WinTextPrint de Klaus fpr$ = "Fprn.txt": ' fichier d'impression pour WinTextPrint img$ = "640x480.jpg"
' KLAUS: c'est fait par WTP !:On peut donc supprimer mes mm2pix ! ' mm2pix = 2362/100: ' pixels par mm, à 600 dpi (= 600/25.4) mm2pix = 1: ' pixels par mm, à 600 dpi (= 600/25.4) xi% = 100: yi% = 60: ' coin supérieur gauche de l'image, en mm wi% = 80: hi% = 60: ' dimensions de l'image, en mm txt$ = "Légende de l'image" xt% = xi%: yt% = yi% + hi%: ' position du texte sous l'image ' actuellement, l'image est dilatée en hauteur de environ 7mm, soit 165 pixels ' hi% = hi%-7: ' CORRECTION PROVISOIRE KLAUS: ce n'est plus nécessaire ! GOSUB Imprime PRINT "Terminé !" END
Imprime: FILE_OPEN_WRITE 1, fpr$ ' FILE_WRITELN 1, "<#orientation=Portrait#>": ' Orientation ' FILE_WRITELN 1, "<#mod=NB#>": ' Noir et Blanc FILE_WRITELN 1, "<#unit_mm=on,23.62#>" : ' KLAUS: donner le facteur ICI ! FILE_WRITELN 1, "<#font="+CHR$(34)+"Lucida Console"+CHR$(34)+"#>" FILE_WRITELN 1, "<#fontsize=10#>" a$ = "<#image=" + img$ + "," ' ôter éventuellement les 3mm de marge non imprimable gauche et haut ' k% = (xi%-3) * mm2pix: a$ = a$ + STR$(k%) + "," KLAUS : pas nécessaire ! ' k% = (yi%-3) * mm2pix: a$ = a$ + STR$(k%) + "," KLAUS : pas nécessaire ! k% = xi% * mm2pix: a$ = a$ + STR$(k%) + "," k% = yi% * mm2pix: a$ = a$ + STR$(k%) + "," k% = wi%: a$ = a$ + STR$(k%) + "," k% = hi%: a$ = a$ + STR$(k%) + "#>" FILE_WRITELN 1, a$ k% = xt% * mm2pix: a$ = "<#posabs=" + STR$(k%) + "," k% = yt% * mm2pix: a$ = a$ + STR$(k%) + "#>" FILE_WRITELN 1, a$ + txt$ FILE_CLOSE 1 EXECUTE_WAIT wtp$ + "/file=" + fpr$ + " /noshow" RETURN | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 13:36 | |
| Merci Klaus, j'arrive (je n'avais même pas remarqué cette balise <#unit_mm=..., d'ailleurs... elle n'est pas dans la doc ? ou elle est nouvelle ?) Je télécharge et je teste. Voilà, c'est fait, tout marche bien et ton programme me plait bien et me sera très utile, ça me donne quelques idées. Bien pratique la balise de conversion des millimètres, ça permet de dessiner sa page au double-décimètre. Et j'ai quand même gardé ma constante mm2pix en tête, ce qui donne: - Code:
-
FILE_WRITELN 1, "<#unit_mm=on,"+STR$(mm2pix)+"#>" Si on fait les mesures par rapport aux bords de la feuille, il faut quand même tenir compte des marges non imprimables et les soustraire éventuellement (environ 3 mm chez moi), l'impression se faisant par rapport à l'origine imprimable. Mais il suffit de le savoir, et c'est parfait comme ça. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 14:17 | |
| Effectivement, en fonction des imprimantes, il y une marge plus ou moins grande, non imprimable. Difficile d'en tenir compte de manière automatique - ce sera comme pour toi, en découvrant son imprimante.
Pour la balise unit_mm, regarde le programme WTPHelp. Il affiche la doc, et vers la fin, tu as la V2.0.0 du 2/12/2011 qui parle de cela.
S'il faut améliorer la doc ou ce programme, je suis tout disposé à tenir compte des suggestions. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 14:33 | |
| Efectivement il faut que je regarde, mais je ne dois pas avoir la bonne version de WTPHelp.exe (qui m'affiche WinTextPrint V1.3.4 du 26/02/2010). Les balises orientation et mod que j'ai réactivées pour voir dans mon programme de test ne semblent plus prises en compte ? ça imprime la ligne (sans le '<#' de début), c'est tout.
euh... déjà je me suis trompé, c'est 'mode' et non pas 'mod', je rectifie. Je confirme, mode ça marche, il reste orientation.
Rien à faire, je n'arrive pas à trouver ni en ligne ni sur ton site une version WTPHelp.exe qui fasse mention de cette balise #unit... la version que j'ai porte la date du 3/12/2011. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 14:50 | |
| Oups... un oubli de ma part ! La bonne version est mise en ligne maintenant - il y a aussi la doc pour la balise arc. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 14:58 | |
| Aïe c'est bien ma chance, maintenant le lien de téléchargement est inaccessible ! je vais devoir patienter un peu... Et avec une balise arc en plus...
il doit y avoir un os dans le lien de téléchargement ... ? ça ne veut rien savoir | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 15:33 | |
| | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 15:49 | |
| Effectivement, le lien remarche, mais j'ai toujours le même WTPHelp.exe dedans (du 26/2/2010) ? | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 17:41 | |
| J'ai remis en ligne. J'avais oublié de remplacer le fichier "WinTextPrint Readme.txt" qui est affiché lar l'utilitaire. Toutes mes excuses pour le dérangement. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 17:57 | |
| Y'a pas de mal, l'essentiel est de finir par y arriver !
Oui, là ça marche, je regarde ça de plus près, merci à toi. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 18:05 | |
| Heu Klaus, je ne vois pas qui prendrait ombrage vu ta réactivité. Merci pour nous Je sais que je l'ai déjà dis, mais tes ajouts sont vraiment super pratiques et appréciés | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 18:07 | |
| merci pour votre compréhension et pour votre intérêt pour mon travail. Ca fait plaisir ! | |
| | | exdragon
Nombre de messages : 601 Date d'inscription : 05/01/2012
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 19:24 | |
| Je me joins à Jicehel pour confirmer D'ailleurs je viens de download tous les pseudo-composants panoramic que tu avais fais et d'autres DLL, car depuis le temps, mes anciennes versions sont quelque part dans un disque qui a mal tourné (c'est le cas de le dire tiens^^). | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 21:03 | |
| J'ai un problème avec une image jpg d'une page d'un pdf (fabriquée par convertpdf), qui plante WTP, probablement quelque chose ne lui plait pas dans l'image. J'ai essayé précédemment avec la balise pdf (c'est wtp qui fait faire la conversion), ça plante tout pareil (WTP a cessé de fonctionner...), mon code: - Code:
-
FILE_WRITELN 1, "<#unit_mm=on,23.62#>" : ' conversion pixels -> mm pdf$ = "C:\Temp\pdf\page0008.jpg" FILE_WRITELN 1, "<#image="+pdf$+",0,0,90,130#> pourtant cette image s'affiche normalement dans Irfanview et Windows. Minute ! j'ai un truc bizarre... J'ai trouvé, grossière erreur de ma part: j'ai oublié le guillemet à la fin de la ligne FILE_WRITELN, ça génère un guillemet juste après le nom du fichier et ça trouble WTP, évidemment ! pardon pour cette fausse alerte Et en conclusion: tout marche très bien, madame la marquise ! Merci encore Klaus, pour ton aide et pour ce très beau module, c'est toi le plus fort. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: DLL Print Lun 9 Jan 2012 - 21:40 | |
| Bien content que tu aies trouvé tout seul - ça fait toujours plaisir d'entendre que mon logiciel marche ! As-tu essayé ceci: - Citation :
- <#pdf=params#> params: fichier,page,posh,posv,larg,haut
fichier, posh, posv, larg, haut ont la même signification que pour <#image page est le numéro de page, débutant à 1 donc, dans ton cas, <#pdf="+nom_fichier_pdf$+",8,0,0,90,130"> ce qui extrait directement pa page 8 pour la placer à l'endroit voulu. Mais je suppose que tu as fait cela pour la première page et que tu utilises la balise <#image... pour éviter de refaire l'extraction à nouveau ? | |
| | | Contenu sponsorisé
| Sujet: Re: DLL Print | |
| |
| | | | DLL Print | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |