这是我的情况:
我的问题是,在PDF995上,如果你转到Windows中的打印首选项,默认情况下将方向设置为“纵向”。我需要风景。这些设置似乎覆盖了我在Revit API中设置的任何内容,因此我需要一种更改Windows设置的方法。
我试过这段代码:
PrintDocument printDocument = new PrintDocument();
printDocument.PrinterSettings.PrinterName = "PDF995";
printDocument.DefaultPageSettings.Landscape = true;
在API中调用print函数之前,它没有任何区别。我看不到编辑pdf995 ini来设置这些设置的方法。这是我需要覆盖的Windows设置。
我在网上看到了一些C ++代码,我可以调用它来处理打印机,但找不到更改默认设置的示例。
有人能指出我正确的方向吗?
答案 0 :(得分:2)
我使用这些组件取得了很大的成功:
http://www.merrioncomputing.com/Download/PrintQueueWatch/index.htm http://printqueuewatch.codeplex.com/Wiki/View.aspx?title=Home
此系列提供各种有用的打印选项。它主要集中在监视打印队列,但是从内存中可以选择更改打印机设置和作业属性。
答案 1 :(得分:0)
我认为使用Autodesk.Revit.DB.PrintManager的许多设置都是“占位符”,但如果打印机控制这些设置,则会忽略Revit移植到它的值。我尝试使用完整路径设置.PrintToFileName,但在BlueBeam中制作PDF仍然会将文件发送到MyDocuments,我必须从中复制它。您是否尝试将PDF995复制到PDF995X(例如)并将其修改为默认为横向(而PDF995保留默认的纵向)?过去,当打印机坚持使用存储的默认值而不是请求的默认值时,我使用过这种方法。