Как я могу извлечь текстовое содержание (не изображения) от PDF, (примерно) поддержание стиля и расположения как Google Docs может?
Чтобы извлечь текст из PDF и узнать его позицию, вы можете использовать PDFMiner . PDFMiner также может экспортировать PDF прямо в HTML, сохраняя текст в нужном месте.
Я не знаю вашего варианта использования, но при этом вы можете столкнуться с множеством проблем, потому что PDF действительно ориентирован на презентацию, а не на контент, поток текста не является непрерывным. Так что, если вы хотите, чтобы текст можно было редактировать, это будет непростая задача.
Вы пробовали библиотеки PDF pyPDF или ReportLab ? Я лично ими не пользовался, но вы можете попробовать их. здесь тоже пригодится
Если вы хотите сделать это так же, как Google:
Google преобразует PDF в изображение, а затем накладывает изображение, где раньше был текст, на области выделения JavaScript (что примерно как волшебство Вуду). Области выглядят как текст, когда вы прокручиваете их с помощью курсора, но это не так. Это может не помочь вам узнать, но это то, как они это делают. Если вы хотите переконструировать его, вы можете начать с https://www.mercurial-scm.org/ На главной странице, они делают то же самое с JavaScript, чтобы сделать текст выделяемым и копируемым. Вы можете извлечь текст из PDF и найти его расположение на странице с упоминаемыми библиотеками в других ответах. Затем вы можете наложить извлечённое изображение файла в том же самом стиле областей JavaScript.
Если вы не настроены на это с помощью питона, Призрачный сценарий может сделать это за вас. Проверьте pdf2ascii (скрипт, который поставляется с GS), чтобы получить простой текст. Стили сложнее, так как их можно задать несколькими различными способами.