public bool Save()
 {
     try {
         return(m_viewSheetSetting.Save());
     }
     catch (Exception) {
         return(false);
     }
 }
Beispiel #2
0
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            UIDocument uidoc = commandData.Application.ActiveUIDocument;
            Document   doc   = uidoc.Document;

            Selection    selection = uidoc.Selection;
            PrintManager pm        = doc.PrintManager;

            pm.PrintRange = PrintRange.Select;
            ViewSheetSetting         vss = pm.ViewSheetSetting;
            ICollection <ElementId>  id;
            FilteredElementCollector collector;
            ElementClassFilter       wantedElements;
            PaperSizeSet             paperSize   = pm.PaperSizes;
            List <Element>           printElemes = null;


            using (Transaction trans = new Transaction(doc, "Print ViewSet"))
            {
                try
                {
                    id             = selection.GetElementIds();
                    collector      = new FilteredElementCollector(doc, id);
                    wantedElements = new ElementClassFilter(typeof(ViewSheet));
                    collector.WherePasses(wantedElements);
                    printElemes = collector.ToElements() as List <Element>;
                }
                catch (Autodesk.Revit.Exceptions.ApplicationException e)
                {
                    TaskDialog.Show("Error!", e.Message);
                    return(Result.Cancelled);
                }
                catch (Exception e)
                {
                    TaskDialog.Show("Error!", e.Message);
                }

                ViewSet viewSet = new ViewSet();

                foreach (var elem in printElemes)
                {
                    ViewSheet viewSheet = elem as ViewSheet;
                    viewSet.Insert(viewSheet);
                }

                trans.Start();

                try
                {
                    vss.CurrentViewSheetSet.Views = viewSet;
                    vss.Save();

                    pm.SelectNewPrintDriver("Microsoft Print to PDF");
                    pm.Apply();
                    //pm.PrintSetup.Save();

                    pm.PrintSetup.CurrentPrintSetting.PrintParameters.PageOrientation = PageOrientationType.Landscape;
                    pm.PrintSetup.CurrentPrintSetting.PrintParameters.PaperPlacement  = PaperPlacementType.Center;
                    pm.PrintSetup.CurrentPrintSetting.PrintParameters.ZoomType        = ZoomType.Zoom;
                    pm.PrintSetup.CurrentPrintSetting.PrintParameters.Zoom            = 100;
                    pm.CombinedFile = true;
                    //pm.PrintToFile = true;
                    //pm.PrintToFileName = @"C:\Users\Lenovo\Desktop\file.pdf";
                    pm.Apply();
                    //pm.PrintSetup.Save();
                    pm.SubmitPrint();
                }
                catch (Exception e)
                {
                    message = e.Message;
                    return(Result.Failed);
                }
                trans.Commit();
                // return Result.Succeeded;
            }

            return(Result.Succeeded);
        }
Beispiel #3
0
        public static void print(Document doc)
        {
            ViewSet myViewSet = new ViewSet();
            var     collector =
                new FilteredElementCollector(doc)
                .OfClass(typeof(ViewSheet))
                .Cast <ViewSheet>().ToList();

            foreach (ViewSheet vs in collector)
            {
                if (!vs.IsTemplate && vs.CanBePrinted &&
                    vs.ViewType == ViewType.DrawingSheet)
                {
                    myViewSet.Insert(vs);
                    using (Transaction tx = new Transaction(doc))
                    {
                        tx.Start("Transaction Name");
                        vs.Print(true);
                        tx.Commit();
                    }
                }
            }

            var printsettings = doc.GetPrintSettingIds();

            string       setName = Helper.RandomString(10);
            PrintManager pm      = doc.PrintManager;

            using (Transaction tx = new Transaction(doc))
            {
                tx.Start("Transaction Name");


                pm.SelectNewPrintDriver("Adobe PDF");

                //PaperSizeSet ps = pm.PaperSizes;
                pm.PrintRange   = PrintRange.Select;
                pm.CombinedFile = false;
                pm.PrintToFile  = true;
                pm.PrintSetup.CurrentPrintSetting.PrintParameters.RasterQuality   = RasterQualityType.Presentation;
                pm.PrintSetup.CurrentPrintSetting.PrintParameters.ColorDepth      = ColorDepthType.Color;
                pm.PrintSetup.CurrentPrintSetting.PrintParameters.ViewLinksinBlue = false;


                ViewSheetSetting viewSheetSetting = pm.ViewSheetSetting;

                // try
                // {
                // Save the current view sheet set to another view/sheet set with the specified name.
                viewSheetSetting.SaveAs(setName);
                //}
                //catch (Exception) { }
                viewSheetSetting.CurrentViewSheetSet.Views = myViewSet;
                viewSheetSetting.Save();
                pm.Apply();



                pm.PrintToFileName = FileManager.pdfout + setName + Convert.ToString(setName.GetHashCode()) + ".pdf";
                pm.SubmitPrint();
                tx.Commit();
            }

            using (Transaction tx = new Transaction(doc))
            {
                tx.Start("print Name");
                pm.SubmitPrint();
                tx.Commit();
            }
        }