Sample.PdfRenderer.pdfLaTeXProcess_OutputDataReceived C# (CSharp) Method

pdfLaTeXProcess_OutputDataReceived() private method

private pdfLaTeXProcess_OutputDataReceived ( object sender, DataReceivedEventArgs e ) : void
sender object
e System.Diagnostics.DataReceivedEventArgs
return void
        void pdfLaTeXProcess_OutputDataReceived(object sender, DataReceivedEventArgs e)
        {
            // http://stackoverflow.com/questions/63303/c-how-do-i-know-when-the-last-outputdatareceived-has-arrived
            if (e.Data == null)
                hasReadFinished = true;

            if (!string.IsNullOrWhiteSpace(e.Data))
            {
                if (e.Data.StartsWith("!"))
                {
                    // _log.Error(() => e.Data);
                    HasErrors = true;
                }
                else if (e.Data.StartsWith("Output written on"))
                {
                    Regex r = new Regex(@"(\d) page");
                    var match = r.Match(e.Data);
                    if (!string.IsNullOrWhiteSpace(match.Groups[1].Value))
                    {
                        int pageCount;
                        Int32.TryParse(match.Groups[1].Value, out pageCount);
                        PageCount = pageCount;
                    }
                }
            }
        }