public IVisio.Page NewPage(VisioAutomation.Geometry.Size?size, bool isbackgroundpage) { var cmdtarget = this._client.GetCommandTargetDocument(); var active_document = cmdtarget.ActiveDocument; var pages = active_document.Pages; IVisio.Page new_page; using (var undoscope = this._client.Undo.NewUndoScope(nameof(NewPage))) { new_page = pages.Add(); if (size.HasValue) { var target_pages = new Models.TargetPages(new_page); this.SetPageSize(target_pages, size.Value); } if (isbackgroundpage) { new_page.Background = 1; } } return(new_page); }
public void DeletePages(Models.TargetPages target_pages, bool renumber) { var pages = target_pages.Resolve(this._client); foreach (var page in pages) { page.Delete(renumber ? (short)1 : (short)0); } }
public void ResizePageToFitContents(Models.TargetPages target_pages, VisioAutomation.Geometry.Size bordersize) { var pages = target_pages.Resolve(this._client); using (var undoscope = this._client.Undo.NewUndoScope(nameof(ResizePageToFitContents))) { foreach (var page in pages) { page.ResizeToFitContents(bordersize); } } }
public void SetPageFormatCells(Models.TargetPages targetpages, VisioAutomation.Pages.PageFormatCells cells) { var pages = targetpages.Resolve(this._client); using (var undoscope = this._client.Undo.NewUndoScope(nameof(SetPageFormatCells))) { foreach (var page in pages) { var writer = new VisioAutomation.ShapeSheet.Writers.SrcWriter(); writer.SetValues(cells); writer.BlastGuards = true; writer.CommitFormulas(page); } } }
public VisioAutomation.Geometry.Size GetPageSize(Models.TargetPages target_pages) { var pages = target_pages.Resolve(this._client); var query = new VisioAutomation.ShapeSheet.Query.CellQuery(); var col_height = query.Columns.Add(VisioAutomation.ShapeSheet.SrcConstants.PageHeight, nameof(VisioAutomation.ShapeSheet.SrcConstants.PageHeight)); var col_width = query.Columns.Add(VisioAutomation.ShapeSheet.SrcConstants.PageWidth, nameof(VisioAutomation.ShapeSheet.SrcConstants.PageWidth)); var cellqueryresult = query.GetResults <double>(pages[0].PageSheet); var row = cellqueryresult[0]; double height = row[col_height]; double width = row[col_width]; var s = new VisioAutomation.Geometry.Size(width, height); return(s); }
public void SetPageSize(Models.TargetPages targetpages, VisioAutomation.Geometry.Size new_size) { var pages = targetpages.Resolve(this._client); using (var undoscope = this._client.Undo.NewUndoScope(nameof(SetPageSize))) { foreach (var page in pages) { var page_sheet = page.PageSheet; var writer = new VisioAutomation.ShapeSheet.Writers.SrcWriter(); writer.SetValue(VisioAutomation.ShapeSheet.SrcConstants.PageWidth, new_size.Width); writer.SetValue(VisioAutomation.ShapeSheet.SrcConstants.PageHeight, new_size.Height); writer.CommitFormulas(page_sheet); } } }
public void SetPageOrientation(Models.TargetPages target_pages, Models.PageOrientation orientation) { if (orientation != VisioScripting.Models.PageOrientation.Landscape && orientation != VisioScripting.Models.PageOrientation.Portrait) { throw new System.ArgumentOutOfRangeException(nameof(orientation), "must be either Portrait or Landscape"); } var pages = target_pages.Resolve(this._client); using (var undoscope = this._client.Undo.NewUndoScope(nameof(SetPageOrientation))) { foreach (var page in pages) { var old_orientation = PageCommands._GetPageOrientation(page); if (old_orientation == orientation) { // don't need to do anything return; } var page_tp = new VisioScripting.Models.TargetPages(page); var old_size = this.GetPageSize(page_tp); double new_height = old_size.Width; double new_width = old_size.Height; var writer = new VisioAutomation.ShapeSheet.Writers.SrcWriter(); writer.SetValue(VisioAutomation.ShapeSheet.SrcConstants.PageWidth, new_width); writer.SetValue(VisioAutomation.ShapeSheet.SrcConstants.PageHeight, new_height); writer.SetValue(VisioAutomation.ShapeSheet.SrcConstants.PrintPageOrientation, (int)orientation); writer.CommitFormulas(page.PageSheet); } } }
public Models.PageOrientation GetPageOrientation(Models.TargetPages target_pages) { var pages = target_pages.Resolve(this._client); return(PageCommands._GetPageOrientation(pages[0])); }