Author Topic: Извлечение инфы из пдф  (Read 1858 times)

Offline Euskaldun

  • Администратор
  • Трижды герой
  • *****
  • Posts: 32457
  • Карма: +4505/-429
    • View Profile
Извлечение инфы из пдф
« on: 19 August 2023, 15:02:35 »
  • 0
  • 0
Есть пдф, в котором слова отличаются форматированием: есть полужирным, есть италиком, есть обыкновенные. Пдф позволяет копировать из него копи-пастом.

1. Можно ли выкопировать, сохраняя разметку?
2. Можно ли рассортировать слова в три категории, согласно разметке?

Файл тут: https://www.dropbox.com/s/mkcyo53m15ktbnp/nuovovocabolariodibase.pdf?dl=0

Offline Bhudh

  • Дважды герой
  • **
  • Posts: 6761
  • Карма: +2299/-350
    • View Profile
Re: Извлечение инфы из пдф
« Reply #1 on: 19 August 2023, 16:17:03 »
  • 1
  • 0
Тут такая штука: PDF это графический формат (как и DjVu, например).
То есть каждая страница: это просто картинка, если повезёт, то векторная, как и положено, но бывает и растр, когда надо сохранить исконный вид какого-то старинного документа.
А текст, который можно с этой картинки скопировать — это отдельный слой, добавленный программой распознавания (не в курсе, можно ли вкладывать готовый, но надеюсь, да). И этот слой: в формате plain text. В нём нет никакой инфы про жирность, курсив, подчёркивание et cetera. Собственно, некоторые ридеры этот слой позволяют увидеть: тупо чёрный текст на белом фоне.
Поэтому единственный способ "выкопировать", сохраняя разметку — это обработать PDF-файл OCR-программой, умеющей видеть эту разметку и умеющей сохранять распознанное в формат, отличный от PDF, который её сохранит. Например, в HTML.
Лично я пользуюсь старенькой ABBYY PDF Transformer 3.0, которая когда-то в 2009 распространялась бесплатно на дисках к компьютерным журналам.

Результат работы здесь.
Если мешают полосы, выключите CSS-стили на странице.
Jestem dokładny i dociekliwy. (Wg Pinii.)
Всё, что нужно для торжества зла — это бездействие добрых людей. Поэтому бездействовать не надо. Алексей Навальный
Ceterum censeo gebniam esse delendam.

Offline Bhudh

  • Дважды герой
  • **
  • Posts: 6761
  • Карма: +2299/-350
    • View Profile
Jestem dokładny i dociekliwy. (Wg Pinii.)
Всё, что нужно для торжества зла — это бездействие добрых людей. Поэтому бездействовать не надо. Алексей Навальный
Ceterum censeo gebniam esse delendam.

Offline Euskaldun

  • Администратор
  • Трижды герой
  • *****
  • Posts: 32457
  • Карма: +4505/-429
    • View Profile
Re: Извлечение инфы из пдф
« Reply #3 on: 19 August 2023, 16:35:05 »
  • 0
  • 0
большое спасибо, то что нужно - но мне потенциально в эксель 3 списка надо, мне оригинальная разметка была нужна только для сохранения информации. Можно извлечь три списка оттуда?

Offline Bhudh

  • Дважды герой
  • **
  • Posts: 6761
  • Карма: +2299/-350
    • View Profile
Re: Извлечение инфы из пдф
« Reply #4 on: 19 August 2023, 16:39:38 »
  • 1
  • 0
Нет ничего невозможного, но если жирный и италик извлекаются простым document.getElementsByTagName, то отсутствие разметки на третьем типе превращает добычу в весёленький парсинг остатка на предмет непробельных последовательностей, не содержащих точек (надеюсь).
Вам оно как, в любом порядке надо или в данном конкретном?
Jestem dokładny i dociekliwy. (Wg Pinii.)
Всё, что нужно для торжества зла — это бездействие добрых людей. Поэтому бездействовать не надо. Алексей Навальный
Ceterum censeo gebniam esse delendam.

Offline Bhudh

  • Дважды герой
  • **
  • Posts: 6761
  • Карма: +2299/-350
    • View Profile
Re: Извлечение инфы из пдф
« Reply #5 on: 19 August 2023, 16:45:14 »
  • 1
  • 0
Ещё вижу, что особо мелкие суперскриптные единички распознались как единичные кавычки aka апострофы. Вам эта цифирь нужна?
Jestem dokładny i dociekliwy. (Wg Pinii.)
Всё, что нужно для торжества зла — это бездействие добрых людей. Поэтому бездействовать не надо. Алексей Навальный
Ceterum censeo gebniam esse delendam.

Offline Euskaldun

  • Администратор
  • Трижды герой
  • *****
  • Posts: 32457
  • Карма: +4505/-429
    • View Profile
Re: Извлечение инфы из пдф
« Reply #6 on: 19 August 2023, 16:56:41 »
  • 0
  • 0
Ещё вижу, что особо мелкие суперскриптные единички распознались как единичные кавычки aka апострофы. Вам эта цифирь нужна?
эта цифра нужна, это для различения омонимов, но она может хоть $ обозначаться, главное, чтобы было понятно, что там есть. Или там все суперскрипты  стали кавычкой? (там не только единицы, есть двойки, тройки…) в любом случае, их не может быть много, можно потом вручную допилить
« Last Edit: 19 August 2023, 17:00:29 by Euskaldun »

Offline Euskaldun

  • Администратор
  • Трижды герой
  • *****
  • Posts: 32457
  • Карма: +4505/-429
    • View Profile
Re: Извлечение инфы из пдф
« Reply #7 on: 19 August 2023, 16:59:31 »
  • 0
  • 0
Нет ничего невозможного, но если жирный и италик извлекаются простым document.getElementsByTagName, то отсутствие разметки на третьем типе превращает добычу в весёленький парсинг остатка на предмет непробельных последовательностей, не содержащих точек (надеюсь).
Вам оно как, в любом порядке надо или в данном конкретном?
задача на самом деле сложнее - хотелось бы не только слово болдом/ италиком, но и его грамминформацию. Тут скорее надо порезать на куски от запятой до запятой, а потом по наличию формата первого слова определить в список. Похоже на питоновский скрипт.  :) Сам порядок внутри отдельных списков неважен - он же не по частотности, а по алфавиту, в нем нет информации

Offline Bhudh

  • Дважды герой
  • **
  • Posts: 6761
  • Карма: +2299/-350
    • View Profile
Re: Извлечение инфы из пдф
« Reply #8 on: 19 August 2023, 17:19:39 »
  • 1
  • 0
Если б "от запятой до запятой", было бы гораздо легче. А надо от слова до слова, так как в граминформации этих запятых жопой жуй.
И союза e, чтоб его…
Ладно, сейчас повыделяю обычные слова и попробую сплюсовать с плейн-текстом до следующего тэга.
Jestem dokładny i dociekliwy. (Wg Pinii.)
Всё, что нужно для торжества зла — это бездействие добрых людей. Поэтому бездействовать не надо. Алексей Навальный
Ceterum censeo gebniam esse delendam.

Offline Euskaldun

  • Администратор
  • Трижды герой
  • *****
  • Posts: 32457
  • Карма: +4505/-429
    • View Profile
Re: Извлечение инфы из пдф
« Reply #9 on: 19 August 2023, 17:33:27 »
  • 0
  • 0
супер

Offline Bhudh

  • Дважды герой
  • **
  • Posts: 6761
  • Карма: +2299/-350
    • View Profile
Re: Извлечение инфы из пдф
« Reply #10 on: 19 August 2023, 18:13:16 »
  • 1
  • 0
Пожалуйста.
Списки после словаря, надеюсь, с забиванием в Excel проблем не будет.
Не гарантирую, что всё правильно оцифровалось и ничего не пропущено, так как тотальной вычиткой не занимался. Но у Вас всегда есть под рукой оригинал.
Jestem dokładny i dociekliwy. (Wg Pinii.)
Всё, что нужно для торжества зла — это бездействие добрых людей. Поэтому бездействовать не надо. Алексей Навальный
Ceterum censeo gebniam esse delendam.

Offline Bhudh

  • Дважды герой
  • **
  • Posts: 6761
  • Карма: +2299/-350
    • View Profile
Re: Извлечение инфы из пдф
« Reply #11 on: 20 August 2023, 02:29:27 »
  • 0
  • 0
О, джинса в список не попала :(. И кабина… И вообще, внимания первым и последним элементам в абзацах я уделил явно недостаточно.
Да и списки лучше создавать автоматически, а не забивать дубляжом место в файле.
В общем, принимайте версию словарика 2.0 (теперь в UTF-8!).
Jestem dokładny i dociekliwy. (Wg Pinii.)
Всё, что нужно для торжества зла — это бездействие добрых людей. Поэтому бездействовать не надо. Алексей Навальный
Ceterum censeo gebniam esse delendam.

Offline Euskaldun

  • Администратор
  • Трижды герой
  • *****
  • Posts: 32457
  • Карма: +4505/-429
    • View Profile
Re: Извлечение инфы из пдф
« Reply #12 on: 20 August 2023, 10:13:32 »
  • 0
  • 0
спасибо, огромное!

Offline Euskaldun

  • Администратор
  • Трижды герой
  • *****
  • Posts: 32457
  • Карма: +4505/-429
    • View Profile
Re: Извлечение инфы из пдф
« Reply #13 on: 20 August 2023, 10:14:31 »
  • 0
  • 0
спасибо, огромное!
только у меня не открывается. Закладка открывается на секунду, а потом опять закрывается сама :'(

апдейт - скачал, но система ругалась, посчитала вирусом

Offline Bhudh

  • Дважды герой
  • **
  • Posts: 6761
  • Карма: +2299/-350
    • View Profile
Re: Извлечение инфы из пдф
« Reply #14 on: 20 August 2023, 13:59:32 »
  • 0
  • 0
Господи, что там за параноидальные настройки у Вас стоят: ругаться на скрипт, тупо вставляющий ничего не делающий текст в клетку таблицы⁈ Сейчас каждый второй сайт через шаблоны работает.
Отредактируйте настройки и откройте html в нормальном браузере.
Jestem dokładny i dociekliwy. (Wg Pinii.)
Всё, что нужно для торжества зла — это бездействие добрых людей. Поэтому бездействовать не надо. Алексей Навальный
Ceterum censeo gebniam esse delendam.