La mayoría de las otras respuestas parecen haber pasado por alto que en su pregunta falta una pieza de información crucial: ¡no nos dijo si los documentos que va a leer y cómo están relacionados están relacionados!
¿Su aplicación tiene algo así como un "objeto de documento" y lo escribe primero en un archivo PDF, y luego lee el mismo archivo nuevamente en un objeto de documento similar? O viceversa, ¿lee los PDF en un documento, le hace algunas modificaciones y guarda el mismo documento en un nuevo PDF de nuevo? Entonces la lectura y la escritura deben verse como una responsabilidad. Ese puede ser el caso si su aplicación es o contiene algo como un componente de "editor de PDF" o un "kit de herramientas de manipulación de PDF".
Sin embargo, si una parte de su aplicación crea algunos archivos PDF, por ejemplo, en un componente de informes, y otra parte no relacionada de su aplicación lee diferentes PDF (por ejemplo, un evaluador de archivos adjuntos para un motor de búsqueda), y La representación interna de estos últimos PDF no tiene nada en común con el primer caso de uso, entonces esas tareas son responsabilidades diferentes.
Especialmente para PDF, ese segundo caso de uso es el caso que he visto mucho más a menudo en diferentes tipos de aplicaciones. Hay muchas más bibliotecas / componentes que solo soportan la creación de PDF, y solo un número mucho más pequeño que también admite la lectura de PDF. Si va a utilizar una biblioteca para generar los archivos PDF y otra completamente diferente para leer los archivos PDF, entonces debería ser evidente que la lectura y escritura de los PDF serán responsabilidades separadas.