Recently I was doing contributing to C# corner forums, and there is requirement user wants to read and the same time speaks PDF, to finish this requirement I read PDF file using iTextSharp and Speak that file using System.Speech
private string ExtractTextFromPdf()
{
if (fileUploadSelectFile.HasFile)
{
string filename = Server.MapPath(path: "~/FileToRead/") + fileUploadSelectFile.FileName.ToString();
using (PdfReader reader = new PdfReader(filename))
{
var text = new StringBuilder();
for (int i = 1; i <= reader.NumberOfPages; i++)
{
text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
}
return text.ToString();
}
}
else
return "Please select file";
}
protected void btnSpeak_Click(object sender, EventArgs e)
{
// creating the object of SpeechSynthesizer class
string textToRead;
textToRead = ExtractTextFromPdf();
var speakMe = new SpeechSynthesizer();
//setting volume
speakMe.Volume = 100;
//ing text box text to SpeakAsync method
speakMe.SpeakAsync(textToRead);
}Please find the attached full project.