We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you two Citrix podcasts. Learn about 2020 trends and get answers to your biggest Citrix questions!Listen Now

x

How to print Landscape, Courier New, 10pt in NT Batch

JayAZ
JayAZ asked
on
Medium Priority
541 Views
Last Modified: 2012-06-27
I'm looking for a way to print a text file via NT (win2k) batch script with the following format: Landscape, Courier New, 10pt, with 0.5 inch margins on left/right

I've seen a similar positing, but it was for an Image file.  I dont know how to modify it to fit my requirements.  Printers are HP9000 series, accepts PCL and Postscript.

http://www.experts-exchange.com/Networking/Windows_Networking/NT/Q_20668029.html
Comment
Watch Question

President and Btrieve Guru
CERTIFIED EXPERT
Commented:
Use the suggestion from the other post, but send the proper printer codes FIRST.

To do this, you can try a free tool like HPSET (www.goldstarsoftware.com/tools.asp) with the command:
    HPSET LAND
This sends the needed codes for a Landscape, 16.67 CPI fixed-width font, typically used for 132-column wide reports.

The text string that this sends is the following:
    "\033&l1o7.27C\033(10U\033(s0p16.67h8.5v0s0b0T"
Where \033 is the Esc character (Decimal 27).

If you want a specific font, and to set all of the other things like margins to an exact value, then you'd need to expand the printer codes to include those pieces of information, too.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts

Author

Commented:
I've tried to grasp printer codes, but to no avail.

I'd like to build off the example in the link from a previous submission/question.

In the following code (saved as PrintImg.vbs), it takes filename as the argument when called by cscript
ie:  cscript PrintImg.vbs <filename>

How can I modify it to set the font, font size, and margins?
courier 10pt, 1 inch margins all around

This little VB script uses OLE the create an instance of Word, creates a new document, imports the specified Image, sets the page orientation to landscape and sends the whole crap to the standard printer. After all it closes the document and destroys the ole object.
 
  wdOrientLandscape=1
  Set Args=WScript.Arguments
  FileName=Args(0)
  Set Word = WScript.CreateObject("Word.Application")
  Word.Visible = true
  Word.Documents.Add
  Set Doc = Word.ActiveDocument
  Doc.InlineShapes.AddPicture FileName, True, False
  Doc.PageSetup.Orientation = wdOrientLandscape
  Doc.PrintOut
  Word.ActiveDocument.Close False
  Word.Quit

Open in new window

Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.