public GraphicsPage()
        {
            this.InitializeComponent();
            this.Loaded += GraphicsPage_Loaded;

            word = new C1WordDocument(PaperKind.Letter);
            word.Clear();
        }
        public TOCPage()
        {
            this.InitializeComponent();
            this.Loaded += TOCPage_Loaded;

            _doc = new C1WordDocument(PaperKind.Letter);
            _doc.Clear();
        }
Beispiel #3
0
        public BasicTextPage()
        {
            this.InitializeComponent();
            this.Loaded += BasicText_Loaded;

            word = new C1WordDocument(PaperKind.Letter);
            word.Clear();
        }
Beispiel #4
0
        private async void btnRender_Click(object sender, RoutedEventArgs e)
        {
            // document parameters
            _doc.Clear();
            progressRing.IsActive = true;
            _doc.Landscape        = true;
            var sz = _doc.PageSize;
            var rc = new Rect(0, 0, sz.Width - _doc.MainSection.LeftMargin - _doc.MainSection.RightMargin, sz.Height - _doc.MainSection.TopMargin - _doc.MainSection.BottomMargin);

            // draw every UI elements inside the panel in word document.
            await _doc.DrawElement(panel, rc);

            // save document
            WordUtils.SetDocumentInfo(_doc, Strings.RenderUIDocumentTitle);
            WordUtils.Save(_doc);
            progressRing.IsActive = false;
        }
Beispiel #5
0
        public MainWindow()
        {
            InitializeComponent();

            // ドキュメントクラスを作成
            C1WordDocument word = new C1WordDocument();

            word.Clear();

            // ドキュメント情報を設定します
            word.Info.Author  = "CodeZine";
            word.Info.Subject = "C1Wordサンプル";
            word.Info.Title   = "サンプル";

            /**
             * テキストの表示処理
             */
            this.drawText(word);

            /**
             * 画像の表示処理
             */
            this.drawImage(word);

            /**
             * 図形の描画
             */
            this.drawCircle(word);

            // ドキュメントフォルダーのパス
            string document_path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

            // ファイル名
            string file_name = "sample.docx";

            // 保存処理
            word.Save(document_path + System.IO.Path.DirectorySeparatorChar + file_name);
        }
Beispiel #6
0
        //static string _extension = ".docx";

        public static void HandleButtonClick(object sender, RoutedEventArgs e)
        {
            // get stream to save to
            var dlg = new SaveFileDialog();

            dlg.FileName   = "document";
            dlg.DefaultExt = ".docx";
            dlg.Filter     = WordUtils.GetFileFilter(_extension);
            var dr = dlg.ShowDialog();

            if (!dr.HasValue || !dr.Value)
            {
                return;
            }

            // get sender button
            var btn = sender as Button;

            // create document
            var word = new C1WordDocument();

            word.Clear();

            // set document info
            var di = word.Info;

            di.Author  = "ComponentOne";
            di.Subject = "C1.WPF.Word demo.";
            di.Title   = (string)btn.Content;

            // create document
            switch (di.Title)
            {
            case "Quotes":
                CreateDocumentQuotes(word);
                break;

            case "Tables":
                CreateDocumentTables(word);
                break;

            case "Images":
                CreateDocumentImages(word);
                break;

            case "Paper Sizes":
                CreateDocumentPaperSizes(word);
                break;

            case "Table of Contents":
                CreateDocumentTOC(word);
                break;

            case "Text Flow":
                CreateDocumentTextFlow(word);
                break;

            case "Text":
                CreateDocumentText(word);
                break;

            case "Graphics":
                CreateDocumentGraphics(word);
                break;
            }

            // render footers

            // standard footer
            var text      = string.Format("C1.WPF.Word: {0}, page {1} of {2}", di.Title, "|", "|");
            var paragraph = new RtfParagraph(word.CurrentSection.Footer);

            paragraph.Alignment = RtfHorizontalAlignment.Right;
            int count = 0;

            foreach (var part in text.Split('|'))
            {
                if (!string.IsNullOrEmpty(part))
                {
                    paragraph.Add(new RtfString(part));
                }
                switch (count)
                {
                case 0:
                    paragraph.Add(new RtfPageField());
                    break;

                case 1:
                    paragraph.Add(new RtfNumPagesField());
                    break;
                }
                count++;
            }
            word.CurrentSection.Footer.Add(paragraph);

            // this reopens each page and adds content to them (now we know the page count).
            //var font = new Font("Arial", 8, RtfFontStyle.Bold);
            //var fmt = new StringFormat();
            //fmt.Alignment = HorizontalAlignment.Right;
            //fmt.LineAlignment = VerticalAlignment.Bottom;
            //for (int page = 0; page < rtf.Pages.Count; page++)
            //{
            //    rtf.CurrentPage = page;
            //    var text = string.Format("C1.WPF.Word: {0}, page {1} of {2}",
            //        di.Title,
            //        page + 1,
            //        rtf.Pages.Count);
            //    rtf.DrawString(
            //        text,
            //        font,
            //        Colors.DarkGray,
            //        WordUtils.Inflate(rtf.PageRectangle, -72, -36),
            //        fmt);
            //}

            // save document
            using (var stream = dlg.OpenFile())
            {
                word.Save(stream, dlg.FileName.ToLower().EndsWith(".docx") ? FileFormat.OpenXml : FileFormat.Rtf);
            }
            MessageBox.Show("Word Document saved to " + dlg.SafeFileName);
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            // get stream to save to
            var dlg = new SaveFileDialog();

            dlg.DefaultExt = ".rtf";
            var dr = dlg.ShowDialog();

            if (!dr.HasValue || !dr.Value)
            {
                return;
            }

            // get sender button
            var btn = sender as Button;

            // create document
            var rtf = new C1WordDocument();

            rtf.Clear();

            // set document info
            var di = rtf.Info;

            di.Author  = "ComponentOne";
            di.Subject = "C1.WPF.Word demo.";
            di.Title   = "Experimental VisualTree Exporter for RTF";
            var count = 5;

            // walk visual tree
            CreateDocumentVisualTree(rtf, content);

            // render footers
            // this reopens each page and adds content to them (now we know the page count).
            var font = new Font("Arial", 8, RtfFontStyle.Bold);
            var fmt  = new StringFormat();

            fmt.Alignment     = HorizontalAlignment.Right;
            fmt.LineAlignment = VerticalAlignment.Bottom;
            for (int page = 0; page < count; page++)
            {
                //rtf.CurrentPage = page;
                var sz   = rtf.PageSize;
                var rc   = new Rect(72, 72, sz.Width - 144, sz.Height - 144);
                var text = string.Format("C1.WPF.Rtf: {0}, page {1} of {2}",
                                         di.Title,
                                         page + 1,
                                         count);
                var r = new Rect(72, 36, sz.Width - 144, sz.Height - 72);
                rtf.DrawString(
                    text,
                    font,
                    Colors.DarkGray,
                    r,
                    fmt);
            }

            // save document
            using (var stream = dlg.OpenFile())
            {
                rtf.Save(stream, FileFormat.Rtf);
            }
            MessageBox.Show("Word Document saved to " + dlg.SafeFileName);
        }