¿Cuál es el método correcto para la estrategia de extracción de texto?

En mi código c # estoy extrayendo texto de un pdf, y tengo dos métodos para hacerlo. Sin embargo, 1 método funciona para 1 tipo de documento pdf y el otro método funciona para el otro tipo de documento PDF.

Cuando falla el método 1, obtengo el texto pero sin espacios en blanco, y cuando falla el método 2, solo obtengo \ r \ n.

Método 1 (clase dehttp://www.codeproject.com/Articles/14170/Extract-Text-from-PDF-in-C-100-NET)

PDFParser pdf_parser = new PDFParser();
currentText = pdf_parser.ExtractTextFromPDFBytes(pdfReader.GetPageContent(page)) + " ";

Método 2

StringWriter output = new StringWriter();
for (int i = 1; i <= reader.NumberOfPages; i++)
    output.WriteLine(PdfTextExtractor.GetTextFromPage(reader, i, new SimpleTextExtractionStrategy()));
currentText = output.ToString();

¿Hay alguna manera de combinar ambas funciones para que siempre funcione?

Respuestas a la pregunta(1)

Su respuesta a la pregunta