C# 如何让Bluebeam在打印PDF';s

C# 如何让Bluebeam在打印PDF';s,c#,revit-api,C#,Revit Api,我已经成功创建了一个程序来创建PDF文件,而无需重新设置文件名的格式(Revit会去掉圆点并插入破折号,并在文件名前面加上整个模型名)。然而,一旦“创建”了PDF,它仍然会被移植到Bluebeam Revu(真正的保存到文件的地方)。如何让Revit在指定的文件夹中创建具有指定名称的文件,而无需调用Bluebeam“Intermediate”对话框 我尝试了“…PrintParameters”的各种选项,但似乎没有一个选项可以抑制由定义的打印机调用的对话框。以下是一个完整的示例,演示如何打印为P

我已经成功创建了一个程序来创建PDF文件,而无需重新设置文件名的格式(Revit会去掉圆点并插入破折号,并在文件名前面加上整个模型名)。然而,一旦“创建”了PDF,它仍然会被移植到Bluebeam Revu(真正的保存到文件的地方)。如何让Revit在指定的文件夹中创建具有指定名称的文件,而无需调用Bluebeam“Intermediate”对话框


我尝试了“…PrintParameters”的各种选项,但似乎没有一个选项可以抑制由定义的打印机调用的对话框。

以下是一个完整的示例,演示如何打印为PDF并控制输出文件名和路径:


蓝精灵没有直接的方法。您必须启动BlueBeam管理员并取消选中“提示输入文件名”选项(如果打开该选项,将调用BlueBeam Revu的对话框控件)。关闭时,您的文件(名称正确,但路径不正确)将放置在MyDocuments文件夹中(通过以下方式访问):

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

创建文件后(请注意,“转换”等可能会延迟文件的复制),您可以将其复制到由您的PDF_Mage.PrintToFileName指定的文件夹中。为此,我插入了一个任务对话框以暂停,直到准备就绪。

Oh,并且PDF_Manage.PrintToFileName位于SubmitPrint(uiDoc.ActiveView)之前。我复制了另外两行代码,并将它们放置在问题更新中的错误位置:Bluebeam的管理员工具中有一个关闭提示输入文件名选项的设置。但是,PDF文件不是在PDF_Manage.PrintToFileName位置下指定的位置创建的。默认Bluebeam位置是Enviro谢谢。GetFolderPath(Environment.SpecialFolder.MyDocuments),但是上面的建议对BlueBeam不起作用。当“提示输入文件名”选项关闭时,文件将指向MyDocuments。我已经编写了代码,然后将文件从该文件夹复制到我的PDF_Manage.PrintToFileName=“MyFileNameVariable.pdf”;但这似乎受到文件检测到“已完成”文件的速度的限制。在“SubmitPrint”之后存在…如果未找到(尚未找到),我显然无法将其复制到所需的位置。这是Revit和BlueBeam之间界面中的一个错误--它应该只将文件放在PDF_Manage.PrintToFileName请求的位置。因此,我添加了一个TaskDialog(是/否选项),等待用户输入“继续并复制找到的文件”。(复杂的工作表可能需要几秒钟以上才能“完成”
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)