Click here to Skip to main content
Click here to Skip to main content

Print Using the Windows Fax and Picture Preview

, 17 Jan 2007
Rate this:
Please Sign up or sign in to vote.
Calling the Windows Print and Fax Viewer from a shell command is an elegant way to solve most of your .NET image print issues.

Introduction

I often admired the Windows Print and Fax Viewer for printing images. I often would ignore the individual application's print facilities and go to the Windows Print and Fax Viewer for printing images. If you want to add an excellent print facility to your project, the following code will do that:

'------------------------------------------------------------------------------
'PREVIEW AND PRINTING A BITMAP 
'______________________________________________________________________________

Private Sub PrintPreviewToolStripMenuItem_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles PrintPreviewToolStripMenuItem.Click

    ' create unique file in directory so load Print and Fax is minimized
    ' This project has a directory reserved for preview,
    ' this avoids loading multiple previews which causes delay

    ' a file is required so a preliminary save of bitmap
    ' is made which isnt a bad preprint philosophy
    bm.Save(D2007DirDefault & "\prj\PrintScratch\PrintPreview.bmp")

    Dim procid
    procid = Shell("rundll32.exe C:\WINDOWS\System32\shimgvw.dll," & _ 
                   "ImageView_Fullscreen " & _
                   D2007DirDefault & "\prj\PrintScratch\PrintPreview.bmp")

End Sub

'----------------------------------------------------------
'Previewing a predetermined directory
'____________________________________________________

Private Sub PreviewDesignsWindowsPictureAndFaxViewerToolStripMenuItem_Click(_
        ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles PreviewDesignsWindowsPictureAndFaxViewerToolStripMenuItem.Click
    Dim procid
    procid = Shell("rundll32.exe C:\WINDOWS\System32\shimgvw.dll," & _
                   "ImageView_Fullscreen " & _
                   SObj.DP.designs ' directory with images)
End Sub

'---------------------------------------------------------------------------------
'Previewing a user selected Directory
'---------------------------------------------------------------------------------

Private Sub SelectDirectoryToPreviewWindowPictureAndFaxViewerToolStripMenuItem_Click(ByVal _
        sender As System.Object, ByVal e As System.EventArgs) Handles _
        SelectDirectoryToPreviewWindowPictureAndFaxViewerToolStripMenuItem.Click
    Dim newfile As String
    Me.FolderBrowserDialog1.ShowNewFolderButton = False
    Me.FolderBrowserDialog1.SelectedPath = "C:\"
    If Me.FolderBrowserDialog1.ShowDialog() <> DialogResult.OK Then Exit Sub
    newfile = Me.FolderBrowserDialog1.SelectedPath
    Dim procid
    procid = Shell("rundll32.exe C:\WINDOWS\System32\shimgvw.dll," & _ 
                   "ImageView_Fullscreen " & newfile)
End Sub

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

dmm12
Web Developer
United States United States
Started in IT in 1959 working on Electronic accounting machines.
 
Worked through wiring panels and card systems.
 
1963-1965 USArmy
1961-1975 Computer Supervisor Contental Can
1975-1998 Data Force Incorporated - President
1998-2006 IT Director Promotions Unlimited Corp
2007 retired, project DesignLab(C)2007
 
Design and concept rules, coding is a required evil
 

Comments and Discussions

 
GeneralDirectly printing to default printer Pinmembertrucido7924-Jun-08 2:41 
Questionbm ? Pinmemberdibblm-Ohio6-Feb-07 3:56 
AnswerRe: bm ? Pinmemberdmm126-Feb-07 4:58 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web03 | 2.8.140814.1 | Last Updated 18 Jan 2007
Article Copyright 2006 by dmm12
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid