Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void OutputPdf()
- {
- /*
- PrintDocument printDocument = new PrintDocument();
- printDocument.PrinterSettings.PrinterName = PrinterName;
- */
- PrintManager printManager = Doc.PrintManager;
- printManager.SelectNewPrintDriver(PrinterName);
- printManager.Apply();
- printManager.PrintRange = Autodesk.Revit.DB.PrintRange.Select;
- printManager.Apply();
- //printManager.PrintToFileName = OutputFolder + @"\" + SheetName + ".xps";
- //printManager.Apply();
- printManager.CombinedFile = false;
- printManager.Apply();
- string settingName = "addinPrintPdfSetting";
- Element existingPrintSettings = null;
- TaskDialog.Show("","error");
- try
- {
- var settingsList = (from setId in Doc.GetPrintSettingIds()
- where Doc.GetElement(setId).Name == settingName
- select Doc.GetElement(setId)).ToList();
- existingPrintSettings = settingsList.First();
- }
- catch{}
- /*
- //TaskDialog.Show("info",(existingPrintSettings == null).ToString());
- PrintSetup printSetup = Doc.PrintManager.PrintSetup;
- using (Transaction saveSetupSetting = new Transaction(Doc, "Save settings"))
- {
- saveSetupSetting.Start();
- if(existingPrintSettings == null)
- {
- TaskDialog.Show("","2");
- printSetup.CurrentPrintSetting = Doc.PrintManager.PrintSetup.InSession;
- printSetup.SaveAs(settingName);
- }
- else
- {
- printSetup.CurrentPrintSetting = existingPrintSettings as IPrintSetting;
- }
- saveSetupSetting.Commit();
- }
- TaskDialog.Show("Info", (printSetup.CurrentPrintSetting as PrintSetting).Name);
- using (Transaction printSheet = new Transaction(Doc, "PrintSheet"))
- {
- printSheet.Start();
- TaskDialog.Show("","4");
- printSetup.CurrentPrintSetting.PrintParameters.ZoomType = ZoomType.Zoom;
- printSetup.CurrentPrintSetting.PrintParameters.Zoom = 50;
- printSetup.Save();
- printSheet.Commit();
- printSettings.PrintParameters.PaperPlacement = PaperPlacementType.Center;
- Manager.Apply();
- printSettings.PrintParameters.ColorDepth = ColorDepthType.BlackLine;
- Manager.Apply();
- printSettings.PrintParameters.HiddenLineViews = HiddenLineViewsType.VectorProcessing;
- Manager.Apply();
- Manager.PrintSetup.CurrentPrintSetting.PrintParameters.ZoomType = ZoomType.Zoom;
- Manager.Apply();
- //printSettings.PrintParameters.ZoomType = ZoomType.Zoom;
- //Manager.Apply();
- //printSettings.PrintParameters.Zoom = 100;
- //Manager.Apply();
- //printSettings.PrintParameters.RasterQuality = RasterQualityType.High;
- //Manager.Apply();
- //
- //printSettings.PrintParameters.PageOrientation = PageOrientationType.Portrait;
- //Manager.Apply();
- //printSettings.PrintParameters.PaperSize = GetPaperSizeByName("custom_1783*841");
- //Manager.Apply();
- Manager.PrintSetup.SaveAs("tempPS");
- Manager.Apply();
- // Полное имя для вывода файла .xps
- string fullOutputName = OutputFolder + @"\" + SheetName + ".xps";
- //string fullOutputName = OutputFolder + @"\" + SheetName + ".pdf";
- //Manager.PrintToFileName = fullOutputName;
- //Manager.SubmitPrint(viewSheet);
- //Manager.Apply();
- printSheet.Commit();
- //bool pdfPrinted = false;
- // цикл для завершения итерации только после создания файла pdf
- // иначе могут возникать ошибки, если для всех печатаемых файлов
- // будет назначено одно и то же имя - файл не успевает появиться
- // в папке до следующего вызова DeleteExistPdf, что приводит
- // к ошибке File Already Exists!
- //while (!pdfPrinted)
- //{
- // pdfPrinted = WaitForPdfPrinted(sheetName + ".pdf");
- // Thread.Sleep(500);
- //}
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment