2017-04-14 184 views
0

我已經成功創建了一個程序來創建PDF文件,而無需重新格式化文件名(Revit去掉點並放入破折號,並在整個模型中爲文件名加前綴名稱)。但是,一旦PDF被「創建」,它仍然移植到Bluebeam Revu(REAL保存到文件的位置)。如何讓Revit在指定的文件夾中創建具有指定名稱的文件,而無需調用Bluebeam「中介」對話框?如何在打印PDF時不使用Bluebeam打開revu PDF的

//this is my code as written.... 


string PDF_Path = "C:\\Revit Local\\" + Each_Sheet + " - " + Each_Name + ".pdf"; 
IPrintSetting PDF_Sets = PDF_Manage.PrintSetup.CurrentPrintSetting; 
PrintParameters PDF_Params = PDF_Sets.PrintParameters; 
PDF_Params.PaperSize.Equals(Use_Size); 
PDF_Params.PageOrientation = PageOrientationType.Landscape; 
PDF_Params.ZoomType = ZoomType.Zoom; 
PDF_Params.Zoom = 100; 
PDF_Params.PaperPlacement = PaperPlacementType.Center; 
PDF_Params.HideReforWorkPlanes = true; 
PDF_Params.HideUnreferencedViewTags = true; 
PDF_Params.HideCropBoundaries = true; 
PDF_Params.HideScopeBoxes = true; 
PDF_Params.ColorDepth = ColorDepthType.GrayScale; 
PDF_Manage.SubmitPrint(uiDoc.ActiveView) 
PDF_Manage.PrintToFileName = "MyFileNameVariable.pdf"; 

我嘗試了「...... PrintParameters」的各種選項,並似乎沒有抑制由定義打印機調出的對話框。

+0

哦,並且PDF_Manage.PrintToFileName位於SubmitPrint(uiDoc.ActiveView)。我正在複製另外兩行代碼,並將它們放在我的問題的錯誤位置 – KeachyPeenReturns

+0

UPDATE:Bluebeam有一個設置,它的管理員工具可以關閉文件名o的提示ption。但是,不會在PDF_Manage.PrintToFileName位置下指定的位置創建PDF文件。 – KeachyPeenReturns

+0

默認的BlueBeam位置是Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) – KeachyPeenReturns

回答

0

這裏是你展示如何打印到PDF和控制輸出文件名和路徑的完整示例:

http://thebuildingcoder.typepad.com/blog/2013/06/auto-pdf-print-from-revit-2014.html

+0

謝謝,但上面的建議不適用於BlueBeam。當「提示輸入文件名」選項關閉時,文件被定向到MyDocuments。我編寫了代碼,然後將該文件夾中的文件複製到由我的PDF_Manage.PrintToFileName =「MyFileNameVariable.pdf」定義的位置; – KeachyPeenReturns

+0

但這似乎受到「SubmitPrint」後File.Exists檢測到「完成」文件的速度有限的限制.....如果找不到(尚未),我顯然無法將其複製到所需的位置。這是Revit和BlueBeam之間的界面中的一個錯誤 - 它應該只將文件放在PDF_Manage.PrintToFileName請求的地方。 – KeachyPeenReturns

+0

所以我添加了一個TaskDialog(是/否選項),等待用戶輸入「繼續並複製找到的文件」。 (複雜的紙張可能需要幾秒鐘才能「完成」 – KeachyPeenReturns

1

沒有與BlueBeam沒有直接的方法。您必須啓動BlueBeam管理員並取消選中「提示輸入文件名」選項(如果開啓該選項,則會調用BlueBeam Revu的對話框控件)。通過以下當你把它關掉,你的文件(用正確的名稱,但沒有路徑)被放置在你的我的文檔文件夾中(訪問:在創建文件後

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) 

(注意,「轉換」等,可能會延遲它們可用於複製),那麼可以將它們複製到由您的PDF_Mage.PrintToFileName指定的FOLDER。我通過插入一個TaskDialog來暫停,直到準備好。