I was having the same problem with a number of pdf readers, including PyPDF2. I was able to eventually find one that works 'out of the box', pdfplumber.
import pdfplumber
pdf = pdfplumber.open('myfile.pdf')
page = pdf.pages[0]
text = page.extract_text()