Why not create a structure or class with the parameters as member variables (or properties) and set them to defaults in the sub New(). Then pass an instance of this class to the method?
i.e.
[code=csharp]
class test {
System.Object Background ,
System.Object Append ,
System.Object Range ,
System.Object OutputFileName ,
System.Object From ,
System.Object To ,
System.Object Item ,
System.Object Copies ,
System.Object Pages ,
System.Object PageType ,
System.Object PrintToFile ,
System.Object Collate ,
System.Object ActivePrinterMacGX ,
System.Object ManualDuplexPrint ,
System.Object PrintZoomColumn ,
System.Object PrintZoomRow ,
System.Object PrintZoomPaperWidth ,
System.Object PrintZoomPaperHeight,
}
public void PrintOut (test info) {}
[/code]
also out of curiosity is there any reason why all the parameters are declared object?