Я ищу способ открыть PDF-файл в Chrome, выбрать все и скопировать содержимое для записи в текстовый файл.Я понимаю, что это очень хакерский подход, но я уже пробовал библиотеки pdftotext
и textract
для чтения текста в формате PDF, и при ручном выполнении команды «Выделить все» и «Копировать / Вставить в Chrome» текст наиболее последовательно читался в моих нескольких файлах.
Это то, что у меня есть до сих пор:
import os
import subprocess
# open file in chrome
cmd = """osascript -e 'tell application "System Events" to keystroke "a" using {command down}'"""
p = subprocess.Popen(['open', '-na', 'Google Chrome', '--args', '--new-window', f'{pdf_f}'])
time.sleep(1)
# select all
os.system(cmd)
time.sleep(1)
# copy
cmd = """osascript -e 'tell application "System Events" to keystroke "c" using {command down}'"""
os.system(cmd)
Видимо, это работает, открывая pdf в chrome, затем показывая весь выделенный текст, но текст не копируется.Я не могу сказать, если это из команды копирования или когда открывается новое окно Chrome, фокус находится на окне, а не на файле PDF в этом окне.