//EPUB生成ボタンが押された
        private async void GenerateEPUB(object sender, RoutedEventArgs e)
        {
            var btn = sender as Button;     //ボタンをdisableにする
            btn.IsEnabled = false;
            try
            {
                //
                //EPUBを作成する
                //

                //テンプレートを確認する
                btn.Content = "テンプレートを確認しています。";
                await Task.Run(() => EpubDocument.CheckEpubTemplate());

                //メタデータを取得する
                var ePubDoc = new EpubDocument();
                var metaData = new EpubMetaData();
                metaData.title = title.Text;                            //タイトル
                metaData.author = author.Text;                          //著者
                metaData.publisher = publisher.Text;                    //出版社
                metaData.isRightToLeft = (bool)isVertical.IsChecked;    //縦書きであれば右→左
                metaData.isVertical = (bool)isVertical.IsChecked;       //縦書きか?
                ePubDoc.metaData = metaData;
                
                //ファイル情報を取得する
                ePubDoc.coverImageFileName = cover.Text;    //表紙画像
                ePubDoc.novelFileName = novel.Text;         //本文

                //テキストフォーマットを取得する
                var opt = new ConvertOptions();
                opt.hasTag = (bool)hasTag.IsChecked;                    //修飾タグの有無
                opt.isSpaceIndented = (bool)isSpaceIndented.IsChecked;  //インデントがスペースか?

                if (isPlaneText.IsChecked == true)                      //プレーンテキスト
                {
                    opt.format = TextFormat.PLAIN_TEXT;
                }
                else if (isHeaddedText.IsChecked == true)               //*でヘッダを示すテキスト
                {
                    opt.format = TextFormat.PLAIN_TEXT_WITH_HEADER;
                }
                else                                                    //XHTML
                {
                    opt.format = TextFormat.XHTML;
                }
                ePubDoc.opt = opt;

                //生成処理実行
                btn.Content = "EPUBを作成しています";

                //後処理設定を読み込む
                PostProcess.executeEpubCheck = useEpubCheck.IsChecked;              //EpubCheck
                PostProcess.executeKindePreViewer = execKindlePreviewer.IsChecked;  //KindlePreviewer

                var isEpubGen = ePubDoc.GenerateEpubDocument();

                //設定を保存する
                SaveDefaults();

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            btn.IsEnabled = true;   //ボタンをEnableに戻す
            btn.Content = "EPUB3ファイルを生成する";
        }
Exemplo n.º 2
0
        //EPUB生成ボタンが押された
        private async void GenerateEPUB(object sender, RoutedEventArgs e)
        {
            var btn = sender as Button;     //ボタンをdisableにする

            btn.IsEnabled = false;
            try
            {
                //
                //EPUBを作成する
                //

                //テンプレートを確認する
                btn.Content = "テンプレートを確認しています。";
                await Task.Run(() => EpubDocument.CheckEpubTemplate());

                //メタデータを取得する
                var ePubDoc  = new EpubDocument();
                var metaData = new EpubMetaData();
                metaData.title         = title.Text;                    //タイトル
                metaData.author        = author.Text;                   //著者
                metaData.publisher     = publisher.Text;                //出版社
                metaData.isRightToLeft = (bool)isVertical.IsChecked;    //縦書きであれば右→左
                metaData.isVertical    = (bool)isVertical.IsChecked;    //縦書きか?
                ePubDoc.metaData       = metaData;

                //ファイル情報を取得する
                ePubDoc.coverImageFileName = cover.Text;    //表紙画像
                ePubDoc.novelFileName      = novel.Text;    //本文

                //テキストフォーマットを取得する
                var opt = new ConvertOptions();
                opt.hasTag          = (bool)hasTag.IsChecked;           //修飾タグの有無
                opt.isSpaceIndented = (bool)isSpaceIndented.IsChecked;  //インデントがスペースか?

                if (isPlaneText.IsChecked == true)                      //プレーンテキスト
                {
                    opt.format = TextFormat.PLAIN_TEXT;
                }
                else if (isHeaddedText.IsChecked == true)               //*でヘッダを示すテキスト
                {
                    opt.format = TextFormat.PLAIN_TEXT_WITH_HEADER;
                }
                else                                                    //XHTML
                {
                    opt.format = TextFormat.XHTML;
                }
                ePubDoc.opt = opt;

                //生成処理実行
                btn.Content = "EPUBを作成しています";

                //後処理設定を読み込む
                PostProcess.executeEpubCheck      = useEpubCheck.IsChecked;         //EpubCheck
                PostProcess.executeKindePreViewer = execKindlePreviewer.IsChecked;  //KindlePreviewer

                var isEpubGen = ePubDoc.GenerateEpubDocument();

                //設定を保存する
                SaveDefaults();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            btn.IsEnabled = true;   //ボタンをEnableに戻す
            btn.Content   = "EPUB3ファイルを生成する";
        }