コード例 #1
0
        private void GenerateExecute(object cmdParameter)
        {
            IDocumentService doc = ServiceLocator.Current.GetInstance <IDocumentService>();

            if (doc.Document.DocumentSettings.LayoutSetting.PageTree.ChildNodesCount <= 0)
            {
                System.Windows.MessageBox.Show(GlobalData.FindResource("Toolbar_Generate_AddPageAlert"));
                return;
            }

            if (false == CheckDestinationPath())
            {
                return;
            }

            //send message to generate html
            PreviewParameter para = new PreviewParameter();

            para.SavePath     = GeneratePath;
            para.IsBrowerOpen = true;

            doc.Document.GeneratorConfigurationSet.DefaultHtmlConfiguration.GenerateMobileFiles = true;

            _ListEventAggregator.GetEvent <GenerateHTMLEvent>().Publish(para);

            CloseWindow(cmdParameter);
        }
コード例 #2
0
ファイル: PagePreViewModel.cs プロジェクト: naver/protonow
        public async void GenerateHTMLEventHandler(object data)
        {
            PreviewParameter para     = data as PreviewParameter;
            string           filePath = para.SavePath;
            // Make textbox update source data.
            ISelectionService _selectionService = ServiceLocator.Current.GetInstance <SelectionServiceProvider>();
            IPagePropertyData page = _selectionService.GetCurrentPage();

            if (para.IsPreviewCurrentPage == true && page == null)
            {
                return;
            }

            if (page != null && page.EditorCanvas != null)
            {
                page.EditorCanvas.Focus();
            }

            if ((_currentPageGID != Guid.Empty))
            {
                return;
            }

            IDocumentService doc = ServiceLocator.Current.GetInstance <IDocumentService>();

            if (string.IsNullOrEmpty(filePath))
            {
                return;
            }
            if (doc == null || doc.Document == null)
            {
                return;
            }

            //Get Image save path;
            //doc.Document.GeneratorConfigurationSet.DefaultHtmlConfiguration.OutputFolder = @"D:\pic";
            _outputFolder = filePath;
            string imgPath = filePath + @"\images\";

            try
            {
                if (Directory.Exists(imgPath) == false)
                {
                    Directory.CreateDirectory(imgPath);
                }
                _htmlService.ImagesStreamManager.WorkingDirectory = imgPath;
            }
            catch (Exception ex)
            {
                MessageBox.Show(GlobalData.FindResource("Error_Generate_Html") + ex.Message);
                return;
            }

            if (para.IsPreviewCurrentPage)
            {
                Guid currentPageGuid = page.PageGID;
                if (page.ActivePage is IEmbeddedPage)
                {
                    IEmbeddedPage embeddedPage = page.ActivePage as IEmbeddedPage;
                    currentPageGuid = embeddedPage.ParentWidget.ParentPage.Guid;
                }

                doc.Document.GeneratorConfigurationSet.DefaultHtmlConfiguration.CurrentPage = currentPageGuid;
            }
            else
            {
                doc.Document.GeneratorConfigurationSet.DefaultHtmlConfiguration.CurrentPage = Guid.Empty;
            }


            Debug.WriteLine("----->HtmlGen----->Start All Convert");
            //Async operation to Generate Html and open it
            await AsyncGenerateHtml(para.IsBrowerOpen);

            // Reset image working directory.
            _htmlService.ImagesStreamManager.WorkingDirectory = string.Empty;
        }