Доброго времени суток, Планетяне! Развитие темы, описанной в Приёмах…
Задача: получить данные из нескольких больших PDF-файлов со сметами, не потеряв кодировку и структуру таблиц. Вопрос: как это сделать максимально быстро/удобно/корректно?
Как сейчас: объединяю все PDF в 1 и далее по заветам НВП Текущие основные проблемы: в лучшем случае ОООЧЕНЬ долго, в худшем — синий экран смерти или просто зависание с вылетом
UPD: можно зайти со стороны "Импорт данных из PDF в Word", т.к. макрос пакетного копипаста "Word-Excel" уже есть, а сам метод копипаста (на моём примере) ничего не сбивает, но хотелось бы более "технологичный" подход, да и тема тогда будет другая, так что пока так…
UPD2: пока что решил таки делать — если PDF не вылетает при пересохранении в Word, то потом просто делаю копипаст (макросом быстрее и стабильнее) в Excel. Для некоторых примеров сработает даже прямое пересохранение PDF в Excel.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Игорь, Acrobat Reader… странно, что ВЫ такое спрашиваете
Добавил в стартовое сообщение файлы для примера. Смотрю на полученные данные и всё довольно грустно — всё разбито по строкам и правила для объединения обратно поячеечно что-то не придумать(((
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
а, я-то думал что новая версия Excel такое умеет Acrobat Reader - им макросами управлять получается? я как-то ни разу не пользовался
делал так: PDF открывается в IE (с использованием плагина акробатовского) выделяем всё, копируем в буфер обмена берем из буфера формат RTF преобразуем RTF в HTML
Игорь, не-не — я пока только "ручками" перевожу из PDF в Excel Есть пример по вашему методу?…
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
где-то в интернетах откопал конвертер RTF в HTML, и допиливал его ещё до начала 2019 года, можно было в буфере обмена получить сразу HTML, — тогда всё просто было а потом Acrobat плагин переделал, и в буфер обмена стал передаваться только RTF, теперь всё сложнее (если не задействовать Word)
А если через Word прогонять RTF из буфера обмена - тогда все просто: 1) открывает ПДФ в IE (1 строка кода) 2) ждем пару секунд 3) SendKeys (Ctrl + A пару раз с паузой в секунду, Ctrl + С, проверяем скопировалось или нет - копирование иногда занимает 1-3 секунды) 4) вставляем в пустой документ Word 5) сохраняем как HTML 6) открываем в Excel
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Моё решение должно работать в любой версии Office, начиная с Office 2003, потому сделал именно так. А если делать для себя, имея последний Office (который умеет открывать ПДФ), то тогда, конечно же, не нужно ничего изобретать с IE
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Привет, Алексей. Да проще, в принципе простого. Ставите Power BI Desktop запускаете. Получить данные, из Pdf, выбираете страницу страницы (коннектор пытается ещё и таблицы определить). Нажимаете импорт. Переключаетесь на вкладку таблиц, выбираете таблицу и ПКМ - копировать всю таблицу. Ну, и в Excel конечно. Естественно, много творческой ручной работы Но можно поэкспериментировать с запросами, если pdf все одного (ну, или плюс/минус) формата.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
artyrH, можно скрин, а то я с яблофона без Numbers?))
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Приложил для коллекции XLSX -файл, который сформировал Adobe Acrobat из меню: Файл - Сохранить как другой - Электронная таблица - Рабочая книга MS Excel. Счастливые обладатели Adobe Acrobat могут посредством VBA это автоматизировать, используя встроенный интерфейс JSObject:
Код
...
Set objJSO = objAcroPDDoc.GetJSObject
ret = objJSO.SaveAs("D:\Test.xlsx", "com.adobe.acrobat.xlsx")
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄