コード例 #1
0
        public static string GetHash(IEmbeddedPage page, bool bIsSetTarget = false)
        {
            if (page.IsOpened == false)
            {
                page.Open();
            }

            SerialPage target = new SerialPage(page);
            string     md5    = CreaetMD5Hash(target, bIsSetTarget);

            if (bIsSetTarget == true)
            {
                page.MD5 = md5;
            }
            return(md5);
        }
コード例 #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;
        }
コード例 #3
0
        protected override void RunInternal()
        {
            // Create a new document.
            Program.Service.NewDocument(DocumentType.Standard);
            IDocument document = Program.Service.Document;

            // Create a new page.
            IDocumentPage page1 = document.CreatePage("Page 1");
            ITreeNode     node1 = document.DocumentSettings.LayoutSetting.PageTree.AddChild(TreeNodeType.Page);

            node1.AttachedObject = page1;

            page1.Open();

            // Get the page view for base adaptive view.
            IPageView baseView1 = page1.PageViews[document.AdaptiveViewSet.Base.Guid];

            IDynamicPanel dynamicPanel = baseView1.CreateWidget(WidgetType.DynamicPanel) as IDynamicPanel;

            dynamicPanel.Annotation.SetTextValue("CreatedTime", DateTime.Now.ToString());
            dynamicPanel.WidgetStyle.Height = 198;
            dynamicPanel.WidgetStyle.Width  = 152;
            dynamicPanel.IsAutomatic        = true;

            // Set start panel page as the first created page.
            dynamicPanel.StartPanelStatePage = dynamicPanel.CreatePanelStatePage("Panel 1");
            IEmbeddedPage embeddedPage2 = dynamicPanel.CreatePanelStatePage("Panel 2");

            dynamicPanel.CreatePanelStatePage("Panel 3");

            int imageFileName = 1;

            foreach (IPage statePage in dynamicPanel.PanelStatePages)
            {
                statePage.Open(); // Open page to edit.

                // Get the base view of state page.
                IPageView stateBaseView = statePage.PageViews[document.AdaptiveViewSet.Base.Guid];

                IImage statePageImage = stateBaseView.CreateWidget(WidgetType.Image) as IImage;
                statePageImage.Annotation.SetTextValue("CreatedTime", DateTime.Now.ToString());
                statePageImage.WidgetStyle.Height = 198;
                statePageImage.WidgetStyle.Width  = 152;
                string statePageImageFile = Path.Combine(Program.WORKING_IMAGES_DIRECTORY, "HangGame", imageFileName + ".png");
                if (File.Exists(statePageImageFile))
                {
                    using (FileStream fileStream = new FileStream(statePageImageFile, FileMode.Open, FileAccess.Read))
                    {
                        MemoryStream imageStream = new MemoryStream();
                        fileStream.CopyTo(imageStream);
                        statePageImage.ImageStream = imageStream;
                    }
                }
                statePage.Close(); // Close Page to release resources.

                imageFileName++;
            }

            // Duplicate the page1.
            IDocumentPage page2 = document.DuplicatePage(page1.Guid);

            ITreeNode node2 = document.DocumentSettings.LayoutSetting.PageTree.AddChild(TreeNodeType.Page);

            node2.AttachedObject = page2;

            dynamicPanel.DeletePanelStatePage(embeddedPage2.Guid);

            page1.Close();

            // Duplicate the page2.
            IDocumentPage page3 = document.DuplicatePage(page1.Guid);

            ITreeNode node3 = document.DocumentSettings.LayoutSetting.PageTree.AddChild(TreeNodeType.Page);

            node3.AttachedObject = page3;

            // Save document to pn file.
            string fileName = Path.Combine(Program.WORKING_DIRECTORY, _caseName + ".pn");

            Program.Service.Save(fileName);

            // CLose document.
            Program.Service.Close();
        }