.NET

.NET

Reply
Contributor
Dasharnb777
Posts: 14
Registered: ‎02-22-2012
Message 1 of 2 (466 Views)

How to change plot device but leave default paper size (media name)?

466 Views, 1 Replies
04-03-2012 02:06 PM

Now I'm going to write a code that will change current plot device of the drawing and there isn't a problem here:

acPlSetVdr.SetPlotConfigurationName(acPlSet, newPrinter, "A4");

But how can I leave default paper size not "A4"? For example if there is "A3" it should stay "A3". Because if I go through each drawing I don't know what is the current paper size I just need to change the plot device becuse default has been crashed for example. But if I write "A4" each drawing will have "A4". 

 

Hope I explain everything clearly. Thanx for suggestions.

Mentor
SENL1362
Posts: 167
Registered: ‎07-20-2011
Message 2 of 2 (439 Views)

Re: How to change plot device but leave default paper size (media name)?

04-04-2012 11:54 PM in reply to: Dasharnb777

The way to do this might depend on printer type etc.

1: If possible create two PC3 for one printer, one configured for A4 and one for A3.

2. you might change youre local printer calling printui.dll like this

    using System.Management;
    using System.Printing;

    ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.FileName = "rundll32.EXE";
        startInfo.Arguments = "Printui.dll,PrintUIEntry /ia /K /q /m "SHARP MX-5500N PS" /h "Windows NT x86" /v 3 /f sn0hwenu.inf";
        Process.Start(startInfo);

        //.WshShell shell = new IWshRuntimeLibrary.WshShell();
        //string command = "RUNDLL32 PRINTUI.DLL,PrintUIEntry /k /n \"" + printerInfo.PrinterName + "\"";
        //object windowStyle = null;
        //object waitOnReturn = null;
        //shell.Run(command, ref windowStyle, ref waitOnReturn);

 

3. configure youre default printer with the required papersize, then export these settings

     rundll32 printui.dll,PrintUIEntry /Ss /n "ThePrinter" /a "C:\temp\ThePrinter_A4.dat" 9

    and import these settings with

     rundll32 printui.dll,PrintUIEntry /Sr /n "ThePrinter" /a "C:\temp\ThePrinter_A4.dat" 9

 

Set default printer: rundll32 printui.dll,PrintUIEntry /y /n "ThePrinter"

 

4. change registry,  see

     HKEY_CURRENT_USER\Printers\DevModePerUser\ThePrinter

     and HKEY_CURRENT_USER\Printers\DevModes2\

    settings might be exported and imported using DOS cmd

     C:\WINNT\system32\reg.exe import c:\temp\ThePrinter_A4.reg

 

 

These articles may give you some background.

    changing printing preferences
    http://www.lessanvaezi.com/changing-printer-settings-using-the-windows-api/

    Save/restore Devmode
    http://nicholas.piasecki.name/blog/2008/11/programmatically-selecting-complex-printer-options-in-c-s...

    Set+Get Default printer via registry
    http://www.xtremedotnettalk.com/showthread.php?t=83348


 

Announcements
Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.
Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.