PintJob.Copies is always 1 for MS Word docs

Jul 24, 2014 at 6:17 PM
PrintJob.Copies is always returns 1 for all MS Word print docs.
Kindly help me
Coordinator
Jan 18, 2015 at 7:30 PM
This is a known issue with Microsoft Word. It is because Microsoft Word wants to provide advanced print options (like collation, interleaved copies, different footers on copies etc.)

To do this it intercepts the print options dialog box.

I think that the PagesPrinted property for the event when .Printed = True does hold the correct number - so if you divide this by the original # pages you can derive the # copies.
Jan 13, 2016 at 3:24 PM
Edited Jan 13, 2016 at 3:25 PM
I found a workaround for Microsoft Word, anyone interested contact me. am-198[at]hotmail[dot]com
Coordinator
Jan 15, 2016 at 1:57 PM
Hi - if it is a code change I can give you access rights to add it to this project.
If it is a process or setting can you add it to the documentation ?
Jun 18, 2016 at 9:55 AM
Edited Jun 18, 2016 at 9:56 AM
I found the solution of word page count problem. You can contact me at esoftcode@gmail.com Regards Pallav Kumar
www.esoftcode.com
Jun 23, 2016 at 9:25 AM
Merrion wrote:
Hi - if it is a code change I can give you access rights to add it to this project.
If it is a process or setting can you add it to the documentation ?
Hi Merrion,
Sorry for late response, here is my workaround code i Call this code before initializing the PrinterMonitorComponent.
Try
            'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Word\Options
            Dim rKey As RegistryKey
            Dim rPath As String = "SOFTWARE\\Microsoft\\Office\\"
            For i As Integer = 9 To 20
                rKey = Nothing
                Try
                    rKey = Registry.CurrentUser.OpenSubKey(rPath & Format(i, "0.0"), True)
                Catch ex As Exception
                End Try
                If rKey Is Nothing Then Continue For
                Try
                    rKey = Registry.CurrentUser.OpenSubKey(rPath & Format(i, "0.0") & "\\Word\\Options", True)
                    If rKey IsNot Nothing Then rKey.SetValue("ForceSetCopyCount", 1, RegistryValueKind.DWord)
                Catch ex As Exception
                End Try
                Try
                    rKey = Registry.CurrentUser.OpenSubKey(rPath & Format(i, "0.0") & "\\Excel\\Options", True)
                    If rKey IsNot Nothing Then rKey.SetValue("ForceSetCopyCount", 1, RegistryValueKind.DWord)
                Catch ex As Exception
                End Try
            Next
        Catch ex As Exception
        End Try
Mar 29 at 9:53 AM
Hi all,

I'm currently working on a project and have encountered the exact same issue. The solution that have been posted by Mabito only works when the print monitor is on local computer. Since ForceSetCopyCount is set on the local computer's word regedit.

Local setup:
  • local printers
  • local running code
  • print from pdf or notepad: SUCCES (number of copies are 2)
  • print from word: FAILED (number of copies is 1) <-- ForceSetCopyCount will solve this.
Second setup:
  • local printers that are shared
  • local running code
  • print from other computer to shared printers
  • number of copies is always 1 <--- we cannot set ForceSetCopyCount because it's on a remote computer
If the printer is shared out the print copies will still always be 1. This is especially so for MSWord. Has anyone tested or found a work around this?

Regards
Brandon