private string PlotToString(PdfPlotterViewModel viewModel) { using (var ms = new MemoryStream()) { var plotter = PlotterFactory.CreatePlotter(viewModel); plotter.Plot(Workspace.Drawing, Workspace.ActiveViewPort, ms, Workspace.FileSystemService.ReadAllBytesAsync); ms.Seek(0, SeekOrigin.Begin); using (var reader = new StreamReader(ms)) { var content = reader.ReadToEnd(); return(content); } } }
private string PlotToString(PdfPlotterViewModel viewModel) { using (var ms = new MemoryStream()) { viewModel.Stream = ms; var plotter = PlotterFactory.CreatePlotter(viewModel); plotter.Plot(Workspace); ms.Seek(0, SeekOrigin.Begin); using (var reader = new StreamReader(ms)) { var content = reader.ReadToEnd(); return(content); } } }
public async Task <Stream> PlotToStream(ViewPortViewModelBase viewModel, Drawing drawing, ViewPort viewPort) { var stream = new MemoryStream(); IPlotterFactory plotterFactory = viewModel switch { PdfPlotterViewModel _ => _pdfPlotterFactory, SvgPlotterViewModel _ => _svgPlotterFactory, _ => throw new System.Exception($"Unexpected view model: {viewModel?.GetType().Name}"), }; var plotter = plotterFactory.CreatePlotter(viewModel); await plotter.Plot(drawing, viewPort, stream, _workspace.FileSystemService.GetContentResolverRelativeToPath(drawing.Settings.FileName)); stream.Seek(0, SeekOrigin.Begin); return(stream); }
public void OnImportsSatisfied() { _viewModel = (PdfPlotterViewModel)DataContext; }