Most of the other answers seem to have overlooked that in your question one crucial piece of information is missing - you did not tell us if and how the documents you are going to read and write are related!
Is your application having something like a "document object" and writes that into a PDF file first, and then later reads the same file again into a similar document object? Or vice versa, it reads PDFs into a document, makes some modifications to it and saves that same document into a new PDF again? Then reading and writing should be seen as one responsibility. That may be the case if your application is or contains something like a "PDF editor" component, or a "PDF manipulation toolkit".
However, if one part of your application creates some PDF files, for example, in a reporting component, and another unrelated part of your application reads different PDFs (for example, a mail attachment evaluator for a search engine), and the internal representation of those latter PDFs has nothing in common with the first use case, then those tasks are different responsibilities.
Especially for PDF, that second use case is the case which I have seen much more often in different kind of applications. There are much more libraries / components out there which just support PDF creation, and only a much smaller number which support also PDF reading. If you are going to use a one library for generating the PDF files, and a completely different one to read the PDFs, then it should be evident that PDF reading and writing will be separate responsibilities.