Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[debutant] imprimer un fichier texte en mode paysage avec une police plus petite

12 réponses
Avatar
Azur
Bonjour,


Je réalise tout les jours une sauvegardes ne mon serveur avec un batch et
ntbackup
tout fonctionne bien.


Je voudrais imprimer le rapport de l'execution de ma sauvegarde
(backup01.log)


En ajoutant l'impression de ce rapport avec l'instruction print dans mon
batch, cela fonctionne mais
les caractères accentués ne passe pas (sans doute une subtilité oem-ansi) et
le rapport est tronquée
sur la partie droite de mon document.

Je me dit que tant qu'à faire autant passer par un script qui me permettrais
de :
-lancer la sauvegarde par ntbackup
-imprimer le rapport dans une police plus petite , en mode paysage.

mon idée serais de passer par notepad.
Il faudrait que je trouve des exemples d'interaction vbs --> notepad

en connaissez-vous ?


c'est une bonne idée ou il y a plus simple ?


-azur-

10 réponses

1 2
Avatar
Fred
Dans : news:ObAiyA2$,
Azur écrivait :
Bonjour,


Bonjour,

En ajoutant l'impression de ce rapport avec l'instruction print dans
mon batch, cela fonctionne mais
les caractères accentués ne passe pas (sans doute une subtilité
oem-ansi) et le rapport est tronquée
sur la partie droite de mon document.


Dans un premier temps je ferais un essai d'envoi préliminaire d'une
séquence d'échappement à l'imprimante.
Modification de la police, du charset, de l'orientation, de la couleur
du papier etc ...
Il faut juste la doc de l'imprimante.
As-tu regardé de ce côté ?

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)

Avatar
Gilles LAURENT [MVP]
"Azur" a écrit dans le message de
news:ObAiyA2$
| Bonjour,

Bonjour,

| Je voudrais imprimer le rapport de l'execution de ma sauvegarde
| (backup01.log)

En complément de la solution de Fred, une approche différente serait de
s'appuyer sur un éditeur de texte pilotable par script, tel que
Microsoft Word, pour configurer et lancer l'impression. A titre
d'exemple, le script VBScript ci-dessous charge dans Word le fichier
texte backup01.log, fixe l'orientation en Paysage puis imprime le
document sur l'imprimante par défaut :

Set oWord=CreateObject("Word.Application")
Set oDoc=oWord.Documents.Open("D:Testbackup01.log")
oDoc.PageSetup.Orientation=1 ' Landscape
oDoc.PrintOut
oWord.Quit(False)

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Avatar
Glenn Gagné
Hum, très intéressant ton script Gilles !

Je vais essayer ça moi :o)


"Gilles LAURENT [MVP]" a écrit dans le message de
news:
"Azur" a écrit dans le message de
news:ObAiyA2$
| Bonjour,

Bonjour,

| Je voudrais imprimer le rapport de l'execution de ma sauvegarde
| (backup01.log)

En complément de la solution de Fred, une approche différente serait de
s'appuyer sur un éditeur de texte pilotable par script, tel que
Microsoft Word, pour configurer et lancer l'impression. A titre
d'exemple, le script VBScript ci-dessous charge dans Word le fichier
texte backup01.log, fixe l'orientation en Paysage puis imprime le
document sur l'imprimante par défaut :

Set oWord=CreateObject("Word.Application")
Set oDoc=oWord.Documents.Open("D:Testbackup01.log")
oDoc.PageSetup.Orientation=1 ' Landscape
oDoc.PrintOut
oWord.Quit(False)

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr




Avatar
moi
Notre ami Gilles LAURENT [MVP] tapota :

"Azur" a écrit dans le message de
news:ObAiyA2$
Bonjour,


Bonjour,

Je voudrais imprimer le rapport de l'execution de ma sauvegarde
(backup01.log)


En complément de la solution de Fred, une approche différente serait
de s'appuyer sur un éditeur de texte pilotable par script, tel que
Microsoft Word, pour configurer et lancer l'impression. A titre
d'exemple, le script VBScript ci-dessous charge dans Word le fichier
texte backup01.log, fixe l'orientation en Paysage puis imprime le
document sur l'imprimante par défaut :

Set oWord=CreateObject("Word.Application")
Set oDoc=oWord.Documents.Open("D:Testbackup01.log")
oDoc.PageSetup.Orientation=1 ' Landscape
oDoc.PrintOut
oWord.Quit(False)



Pour modifier la police du document :

Set oRange = oDoc.Paragraphs(1).Range
oRange.Select
Selection.WholeStory
Selection.Font.Size = 8
Selection.Font.Name = "Times New Roman"


En plus, pour modifier la mise en page,
tu dois pouvoir utiliser pour l'objet oDoc
certaines des propriétés suivantes

oDoc.PageSetup.BottomMargin
oDoc.PageSetup.DifferentFirstPageHeaderFooter
oDoc.PageSetup.FirstPageTray
oDoc.PageSetup.FooterDistance
oDoc.PageSetup.Gutter
oDoc.PageSetup.GutterPos
oDoc.PageSetup.GutterStyle
oDoc.PageSetup.HeaderDistance
oDoc.PageSetup.LayoutMode
oDoc.PageSetup.LeftMargin
oDoc.PageSetup.LineNumbering
oDoc.PageSetup.LinesPage
oDoc.PageSetup.MirrorMargins
oDoc.PageSetup.OddAndEvenPagesHeaderFooter
oDoc.PageSetup.Orientation
oDoc.PageSetup.OtherPagesTray
oDoc.PageSetup.PageHeight
oDoc.PageSetup.PageWidth
oDoc.PageSetup.PaperSize
oDoc.PageSetup.RightMargin
oDoc.PageSetup.SectionDirection
oDoc.PageSetup.VerticalAlignment

bref... tu peux faire joujou avec l'objet word...

HB


Avatar
Azur
Merci à tous pour vos réponses.


Malheureusement, je ne dispose pas de Word sur mon serveur.
Je me suis lancé dans Notepad + sendkeys .


La solution la plus élégante aurait été de programmer des séquences
d'escapes.


En plus, Mon imprimante est une HP Laserjet 4050 , elle est plutôt bien
documentée
En vbscript, ca se passe comment les sequences d'escapes ?


-azur-


"moi" a écrit dans le message de news:

Notre ami Gilles LAURENT [MVP] tapota :

"Azur" a écrit dans le message de
news:ObAiyA2$
Bonjour,


Bonjour,

Je voudrais imprimer le rapport de l'execution de ma sauvegarde
(backup01.log)


En complément de la solution de Fred, une approche différente serait
de s'appuyer sur un éditeur de texte pilotable par script, tel que
Microsoft Word, pour configurer et lancer l'impression. A titre
d'exemple, le script VBScript ci-dessous charge dans Word le fichier
texte backup01.log, fixe l'orientation en Paysage puis imprime le
document sur l'imprimante par défaut :

Set oWord=CreateObject("Word.Application")
Set oDoc=oWord.Documents.Open("D:Testbackup01.log")
oDoc.PageSetup.Orientation=1 ' Landscape
oDoc.PrintOut
oWord.Quit(False)



Pour modifier la police du document :

Set oRange = oDoc.Paragraphs(1).Range
oRange.Select
Selection.WholeStory
Selection.Font.Size = 8
Selection.Font.Name = "Times New Roman"


En plus, pour modifier la mise en page,
tu dois pouvoir utiliser pour l'objet oDoc
certaines des propriétés suivantes

oDoc.PageSetup.BottomMargin
oDoc.PageSetup.DifferentFirstPageHeaderFooter
oDoc.PageSetup.FirstPageTray
oDoc.PageSetup.FooterDistance
oDoc.PageSetup.Gutter
oDoc.PageSetup.GutterPos
oDoc.PageSetup.GutterStyle
oDoc.PageSetup.HeaderDistance
oDoc.PageSetup.LayoutMode
oDoc.PageSetup.LeftMargin
oDoc.PageSetup.LineNumbering
oDoc.PageSetup.LinesPage
oDoc.PageSetup.MirrorMargins
oDoc.PageSetup.OddAndEvenPagesHeaderFooter
oDoc.PageSetup.Orientation
oDoc.PageSetup.OtherPagesTray
oDoc.PageSetup.PageHeight
oDoc.PageSetup.PageWidth
oDoc.PageSetup.PaperSize
oDoc.PageSetup.RightMargin
oDoc.PageSetup.SectionDirection
oDoc.PageSetup.VerticalAlignment

bref... tu peux faire joujou avec l'objet word...

HB





Avatar
Gilles LAURENT [MVP]
"Azur" a écrit dans le message de
news:ObAiyA2$
| Bonjour,

Bonjour,

| Je voudrais imprimer le rapport de l'execution de ma sauvegarde
| (backup01.log)

Une autre solution possible serait de s'appuyer sur un composant COM
capable d'exposer les propriétés et méthodes de l'objet VisualBasic
Printer Object. Cela tombe bien car ce composant existe :
http://pragmaticlee.safedataisp.net/zipfiles/PrinterObject2.zip

Après avoir enregistré ce composant via l'outil regsvr32, il sera
possible de configurer l'impression d'un document. A titre d'exemple, le
script VBScript ci-dessous initialise l'imprimante par défaut, fixe la
taille de la police, fixe l'orientation en paysage puis imprime le
fichier texte backup01.log :

--- Coupez ici : CodeSnippet.vbs ---
' chargement du fichier log
Set oFs=CreateObject("Scripting.FileSystemObject")
Set oFile=oFs.OpenTextFile("D:Testbackup01.log")
strContent=oFile.ReadAll

' configuration et impression
Set oPrn=CreateObject("RxVB.PrinterObject")
oPrn.InitializePrinter
oPrn.Orientation=2 ' Landscape
oPrn.FontSize=8
oPrn.PrintLine strContent
oPrn.EndDoc
--- Coupez ici : CodeSnippet.vbs ---

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Avatar
Azur
Solution beaucoup plus élégante que mon script à base de SendKeys.
Qu'il a d'ailleur fallu que je retravaille a cause de la version du
driver...

Bref, merci pour ton aide, quand j'aurais deux instants, je passerais plutôt
par cette
solution.

Ou puis-je trouver les propriétés et méthodes actuelle de cette objet
printer ?



-azur-















Une autre solution possible serait de s'appuyer sur un composant COM
capable d'exposer les propriétés et méthodes de l'objet VisualBasic
Printer Object. Cela tombe bien car ce composant existe :
http://pragmaticlee.safedataisp.net/zipfiles/PrinterObject2.zip

Après avoir enregistré ce composant via l'outil regsvr32, il sera
possible de configurer l'impression d'un document. A titre d'exemple, le
script VBScript ci-dessous initialise l'imprimante par défaut, fixe la
taille de la police, fixe l'orientation en paysage puis imprime le
fichier texte backup01.log :

--- Coupez ici : CodeSnippet.vbs ---
' chargement du fichier log
Set oFs=CreateObject("Scripting.FileSystemObject")
Set oFile=oFs.OpenTextFile("D:Testbackup01.log")
strContent=oFile.ReadAll

' configuration et impression
Set oPrn=CreateObject("RxVB.PrinterObject")
oPrn.InitializePrinter
oPrn.Orientation=2 ' Landscape
oPrn.FontSize=8
oPrn.PrintLine strContent
oPrn.EndDoc
--- Coupez ici : CodeSnippet.vbs ---

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr




Avatar
Gilles LAURENT [MVP]
"Azur" a écrit dans le message de
news:%23T6$
| Ou puis-je trouver les propriétés et méthodes actuelle de cette objet
| printer ?

Printer Object, Printers Collection :
http://msdn2.microsoft.com/en-us/library/aa267233(VS.60).aspx

Les méthodes et propriétés supportées par le composant :

*******************************
WSH Transcript Start
Start time : 2007-09-27 16:12:21
Username : xxxGilles
Machine : xxx (Microsoft Windows NT 5.1.2600.2)
*******************************
Transcript started, output file is D:WSHPrinterObject.txt

WSH D:Test> set oprn=co("rxvb.printerobject")
WSH D:Test> gm(oprn)

Category Name
--------- -------
Function ConvertToRGB (inRed, inGreen, inblue)
Function Dimensions (strPicturePath)
Sub DrawArc (X1, Y1, Radius, StartA, EndA)
Sub DrawArcC (X1, Y1, Radius, StartA, EndA, cl)
Sub DrawCircle (X1, Y1, Radius)
Sub DrawCircleC (X1, Y1, Radius, cl)
Sub DrawLine (X1, Y1, X2, Y2)
Sub DrawLineC (X1, Y1, X2, Y2, cl)
Sub EndDoc ()
Function GetCaps ()
Function HatchShade (InCood, InColor, HType)
Function ImageDimensions (strPicturePath)
Sub InitializePrinter ()
Sub KillDoc ()
Sub NewPage ()
Sub PaintPicture (picture, X1, Y1, [W1], [H1], [X2], [Y2],
[W2], [H2], [Opcode])
Sub PaintPictureR (picture, X1, Y1, [W1], [H1], [X2], [Y2],
[W2], [H2], [Opcode])
Sub PointSet (X1, Y1, cl)
Sub PrintLine (sText)
Sub PrintLineP (sText, tb)
Sub PrintLineS (sText)
Sub PrintLineT (sText, com)
Sub RotatedText (textstring, angle)
Sub SelectPrinter (prn, [bAnnounce])
Function SolidShade (InCood, InColor)
Function TextHeight (tstr)
Function TextWidth (tstr)
Property AppTitle
Property ColorMode
Property Copies
Property CurrentX
Property CurrentY
Property CX
Property CY
Property DrawWidth
Property Duplex
Property FontBold
Property FontItalic
Property FontName
Property FontSize
Property FontStrikethru
Property FontUnderline
Property ForeColor
Property Orientation
Property PageNo
Property PaperBin
Property PrintQuality
Property PrName
Property Ver
Property Zoom

WSH D:Test>

Transcript stopped.

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Avatar
Azur
| Ou puis-je trouver les propriétés et méthodes actuelle de cette objet
| printer ?



"Cet objet" , hein ... j'avais glissé !

Merci beaucoup.

Vraiment vraiment....

-azur-



Printer Object, Printers Collection :
http://msdn2.microsoft.com/en-us/library/aa267233(VS.60).aspx

Les méthodes et propriétés supportées par le composant :

*******************************
WSH Transcript Start
Start time : 2007-09-27 16:12:21
Username : xxxGilles
Machine : xxx (Microsoft Windows NT 5.1.2600.2)
*******************************
Transcript started, output file is D:WSHPrinterObject.txt

WSH D:Test> set oprn=co("rxvb.printerobject")
WSH D:Test> gm(oprn)

Category Name
--------- -------
Function ConvertToRGB (inRed, inGreen, inblue)
Function Dimensions (strPicturePath)
Sub DrawArc (X1, Y1, Radius, StartA, EndA)
Sub DrawArcC (X1, Y1, Radius, StartA, EndA, cl)
Sub DrawCircle (X1, Y1, Radius)
Sub DrawCircleC (X1, Y1, Radius, cl)
Sub DrawLine (X1, Y1, X2, Y2)
Sub DrawLineC (X1, Y1, X2, Y2, cl)
Sub EndDoc ()
Function GetCaps ()
Function HatchShade (InCood, InColor, HType)
Function ImageDimensions (strPicturePath)
Sub InitializePrinter ()
Sub KillDoc ()
Sub NewPage ()
Sub PaintPicture (picture, X1, Y1, [W1], [H1], [X2], [Y2],
[W2], [H2], [Opcode])
Sub PaintPictureR (picture, X1, Y1, [W1], [H1], [X2], [Y2],
[W2], [H2], [Opcode])
Sub PointSet (X1, Y1, cl)
Sub PrintLine (sText)
Sub PrintLineP (sText, tb)
Sub PrintLineS (sText)
Sub PrintLineT (sText, com)
Sub RotatedText (textstring, angle)
Sub SelectPrinter (prn, [bAnnounce])
Function SolidShade (InCood, InColor)
Function TextHeight (tstr)
Function TextWidth (tstr)
Property AppTitle
Property ColorMode
Property Copies
Property CurrentX
Property CurrentY
Property CX
Property CY
Property DrawWidth
Property Duplex
Property FontBold
Property FontItalic
Property FontName
Property FontSize
Property FontStrikethru
Property FontUnderline
Property ForeColor
Property Orientation
Property PageNo
Property PaperBin
Property PrintQuality
Property PrName
Property Ver
Property Zoom

WSH D:Test>

Transcript stopped.

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr




Avatar
Azur
Re hello


J'ai du mal à exploiter le rapport de sauvegarde Ntbackup

Je pensais que le log était au format texte (je l'ouvre avec Notpad)

Mais quand je lance mon impression, la ligne suivante:

--Avertissement : le fichier Documents and
SettingsAdministrateur.ZOGOTUNGALocal SettingsApplication
DataMicrosoftWindowsUsrClass.dat est en cours d'utilisation. Il a été
ignoré.



ce transforme en : (remplacer le O par le symbole carré )

--AOvOeOrOtOiOsOsOeOmOeOnOtO O:O OlOeO OfOiOcOhOiOeOrO OODOoOcOuOmOeOnOtOsO
OaOnOdO OSOeOtOtOiOnOgOsOOAOdOmOiOnOiOsOtOrOaOtO....etc

Ca n'est pas un problème de conversion oem ansi.

Apparement le log NTbackup ne serait pas un vrai fichier texte ???

Des idées ??



-azur-



"Azur" a écrit dans le message de news:
%
| Ou puis-je trouver les propriétés et méthodes actuelle de cette objet
| printer ?



"Cet objet" , hein ... j'avais glissé !

Merci beaucoup.

Vraiment vraiment....

-azur-



Printer Object, Printers Collection :
http://msdn2.microsoft.com/en-us/library/aa267233(VS.60).aspx

Les méthodes et propriétés supportées par le composant :

*******************************
WSH Transcript Start
Start time : 2007-09-27 16:12:21
Username : xxxGilles
Machine : xxx (Microsoft Windows NT 5.1.2600.2)
*******************************
Transcript started, output file is D:WSHPrinterObject.txt

WSH D:Test> set oprn=co("rxvb.printerobject")
WSH D:Test> gm(oprn)

Category Name
--------- -------
Function ConvertToRGB (inRed, inGreen, inblue)
Function Dimensions (strPicturePath)
Sub DrawArc (X1, Y1, Radius, StartA, EndA)
Sub DrawArcC (X1, Y1, Radius, StartA, EndA, cl)
Sub DrawCircle (X1, Y1, Radius)
Sub DrawCircleC (X1, Y1, Radius, cl)
Sub DrawLine (X1, Y1, X2, Y2)
Sub DrawLineC (X1, Y1, X2, Y2, cl)
Sub EndDoc ()
Function GetCaps ()
Function HatchShade (InCood, InColor, HType)
Function ImageDimensions (strPicturePath)
Sub InitializePrinter ()
Sub KillDoc ()
Sub NewPage ()
Sub PaintPicture (picture, X1, Y1, [W1], [H1], [X2], [Y2],
[W2], [H2], [Opcode])
Sub PaintPictureR (picture, X1, Y1, [W1], [H1], [X2], [Y2],
[W2], [H2], [Opcode])
Sub PointSet (X1, Y1, cl)
Sub PrintLine (sText)
Sub PrintLineP (sText, tb)
Sub PrintLineS (sText)
Sub PrintLineT (sText, com)
Sub RotatedText (textstring, angle)
Sub SelectPrinter (prn, [bAnnounce])
Function SolidShade (InCood, InColor)
Function TextHeight (tstr)
Function TextWidth (tstr)
Property AppTitle
Property ColorMode
Property Copies
Property CurrentX
Property CurrentY
Property CX
Property CY
Property DrawWidth
Property Duplex
Property FontBold
Property FontItalic
Property FontName
Property FontSize
Property FontStrikethru
Property FontUnderline
Property ForeColor
Property Orientation
Property PageNo
Property PaperBin
Property PrintQuality
Property PrName
Property Ver
Property Zoom

WSH D:Test>

Transcript stopped.

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr








1 2