Esempio n. 1
0
        public string GenerateThumb(MediaFileItem mediaFile)
        {
            using (new Tracer(mediaFile))
            {
                try
                {
                    var doc = new Microsoft.Office.Interop.Word.Application().Documents.Open(FileName: mediaFile.MediaLocation, Visible: false, ReadOnly: true);

                    doc.ShowGrammaticalErrors = false;
                    doc.ShowRevisions         = false;
                    doc.ShowSpellingErrors    = false;

                    byte[] bytes = doc.Range().EnhMetaFileBits;

                    Image page = Image.FromStream(new MemoryStream(bytes));

                    doc.Close(WdSaveOptions.wdDoNotSaveChanges);
                    Helper.Helper.GetThumb(page, mediaFile.Width, mediaFile.Height);
                }
                catch (Exception ex)
                {
                }
                return(_wordThumbPath);
            }
        }
        private static void printExceptiontoDoc(Exception e)
        {
            WinWord.Document d = new WinWord.Application().Documents.Add();
            int paraIndex      = 0;

            d.Range().Text = "e.Message:";    //p1
            d.Paragraphs[++paraIndex].set_Style("標題 5");
            d.Range().InsertParagraphAfter(); //p2
            d.Paragraphs[++paraIndex].Range.Text = e.Message;

            d.Range().InsertParagraphAfter(); //03
            d.Paragraphs[++paraIndex].Range.Text = "e:";
            d.Paragraphs[paraIndex].set_Style("標題 5");
            d.Range().InsertParagraphAfter();//p4
            d.Paragraphs[++paraIndex].Range.Text = e.ToString();

            d.Range().InsertParagraphAfter();//p5
            d.Paragraphs[++paraIndex].Range.Text = "e.Data:";
            d.Paragraphs[paraIndex].set_Style("標題 5");
            d.Range().InsertParagraphAfter();//p6
            d.Paragraphs[++paraIndex].set_Style("內文");
            d.Paragraphs[++paraIndex].Range.Text = e.Data.ToString();

            d.Range().InsertParagraphAfter();//p7
            d.Paragraphs[++paraIndex].Range.Text = "e.Source:";
            d.Paragraphs[paraIndex].set_Style("標題 5");
            d.Range().InsertParagraphAfter();//p8
            d.Paragraphs[++paraIndex].Range.Text = e.Source;

            d.Range().InsertParagraphAfter();//p9
            d.Paragraphs[++paraIndex].Range.Text = "e.HelpLink:";
            d.Paragraphs[paraIndex].set_Style("標題 5");
            d.Range().InsertParagraphAfter();//p10
            d.Paragraphs[++paraIndex].Range.Text = e.HelpLink;


            d.Range().InsertParagraphAfter();//p11
            d.Paragraphs[++paraIndex].Range.Text = "e.InnerException:";
            d.Paragraphs[paraIndex].set_Style("標題 5");
            d.Range().InsertParagraphAfter();//p12
            Exception ee = e.InnerException ?? null;

            if (ee != null)
            {
                d.Paragraphs[++paraIndex].Range.Text = ee.ToString();
            }
            else
            {
                d.Paragraphs[++paraIndex].Range.Text = "null";
            }

            d.Range().InsertParagraphAfter();//p13
            d.Paragraphs[++paraIndex].Range.Text = "e.HResult:";
            d.Paragraphs[paraIndex].set_Style("標題 5");
            d.Range().InsertParagraphAfter();//p14
            d.Paragraphs[++paraIndex].Range.Text = e.HResult.ToString();

            d.Range().InsertParagraphAfter();//p15
            d.Paragraphs[++paraIndex].Range.Text = "e.StackTrace:";
            d.Paragraphs[paraIndex].set_Style("標題 5");
            d.Range().InsertParagraphAfter();//p16
            d.Paragraphs[++paraIndex].Range.Text = e.StackTrace;

            d.Range().InsertParagraphAfter();//p17
            d.Paragraphs[++paraIndex].Range.Text = "e.TargetSite:";
            d.Paragraphs[paraIndex].set_Style("標題 5");
            d.Range().InsertParagraphAfter();//p18
            d.Paragraphs[++paraIndex].set_Style("內文");
            d.Paragraphs[++paraIndex].Range.Text = e.TargetSite.ToString();

            /*
             * d.Range().Text = e.Message + "\n\r\n\r" +
             *   e.Data + "\n\r\n\r" + e.Data +
             *   "\n\r\n\r" + e.Source + "\n\r\n\r" +
             *   e.HelpLink + "\n\r\n\r" + e.HResult + "\n\r\n\r" +
             *   e.InnerException + "\n\r\n\r" +
             *   e.StackTrace + "\n\r\n\r" +
             *   e.TargetSite + "\n\r\n\r" + e.ToString();
             */
            d.ActiveWindow.Visible = true;
            d.Application.Activate();
        }