我想设置页面方向为横向从我的Excel VSTO项目打印Excel工作表。 手动页面方向是从一个从“打印”的形式弹出打印机首选项窗口中设置。
我需要一些自动化将定向每次用户给出打印指令设置为横向。
我注意到,如果我从我的Excel应用程序设置的方向为横向 ,它保持相同的,如果我想给在MS-Word应用程序和反之亦然打印。 因此,必须有某种标志,可以从任何简单的WinForm应用程序进行更改。
有什么办法,我可以操控性能?
我想设置页面方向为横向从我的Excel VSTO项目打印Excel工作表。 手动页面方向是从一个从“打印”的形式弹出打印机首选项窗口中设置。
我需要一些自动化将定向每次用户给出打印指令设置为横向。
我注意到,如果我从我的Excel应用程序设置的方向为横向 ,它保持相同的,如果我想给在MS-Word应用程序和反之亦然打印。 因此,必须有某种标志,可以从任何简单的WinForm应用程序进行更改。
有什么办法,我可以操控性能?
我找不到任何办法,我们可以自定义任何个人打印机的打印机设置。 下面是这为我工作Excel应用程序的代码。
CommonData._WORKBOO
K是一个静态的工作簿对象
Worksheet ws = CommonData._WORKBOOK.Application.ActiveSheet as Worksheet;
var _with1 = ws.PageSetup;
_with1.Orientation = Microsoft.Office.Interop.Excel.XlPageOrientation.xlLandscape;
CommonData._WORKBOOK.Application.Dialogs[Microsoft.Office.Interop.Excel.XlBuiltInDialog.xlDialogPrint].Show(Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
你可以尝试像下面的下面应该为你工作
public void CustPrinting()
{
try
{
strPrint = new StreamReader (filePath);
try
{
printFont = new Font("Arial", 10);
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
pd.PrinterSettings.PrinterName = printer;
// Set the page orientation to landscape.
pd.DefaultPageSettings.Landscape = true;
pd.Print();
}
finally
{
strPrint.Close() ;
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}