2009-07-17 73 views
3

这里,打印机的默认设置就是我的情况:修改从C#

  • 我正在开发一个C#附加在第三方程序
  • 这个程序(Revit中)使用它自己的印刷方法,并公开他们通过它的API
  • 我正在写一个打印实用程序,使用这些方法打印到不同的位置,包括一个PDF打印机
  • 我使用PDF995作为打印机并修改其.ini文件以使其自动化。
  • 基本上我打电话给打印方法在API中打印活动绘图到指定的打印机。

我的问题是,在PDF995中,如果您在Windows中打印首选项,则方向默认设置为“纵向”。我需要风景。这些设置似乎覆盖了我在Revit API中设置的任何内容,所以我需要一种更改Windows设置的方法。

我试过这段代码:

PrintDocument printDocument = new PrintDocument(); 
printDocument.PrinterSettings.PrinterName = "PDF995"; 
printDocument.DefaultPageSettings.Landscape = true; 

调用API中的打印功能之前,但它并没有区别。我看不到一种方法来编辑pdf995 ini来设置这些设置。这是一个我需要重写的窗口设置。

我在网上看到过一些C++代码,我可以调用它来打印打印机,但是找不到更改默认设置的示例。

任何人都可以指向正确的方向吗?

回答

0

我认为使用Autodesk.Revit.DB.PrintManager的许多设置都是“占位符”,但如果打印机正在控制这些设置,那么Revit移植到的值将被忽略。我已经尝试使用完整路径设置.PrintToFileName,但是在BlueBeam中制作PDF仍然会将文件发送到MyDocuments,我必须将其复制。您是否尝试将PDF995复制到PDF995X(例如)并将其修改为默认为横向(而PDF995保留了纵向的默认值)?过去,当打印机坚持使用存储的默认值而不是所请求的值时,我曾经使用过这种方法。