|
|
Работа с PDF
RVN, RomaH, sxfoxi, SAURON777, bolder, Dzenn, Лодырь, s_trikozin, SleepyHead, nick86, Caesar, Seriy_Volk, Garykom, Builder, reg0303, ndrv, Олдж, Климов Сергей, vsy, 2mugik, Буковка, Fish, A_G, d4rkmesa, paramedic, Толич, uno-group, Шурик71, Dedal, alexela, Timon1405, N1troZeus, АгентБезопаснойНацио, Гипервизор, mortal, HobbyHorser, trooba, Crusher, calmius, dergreche, Ногаминебить, kir-g, obs191, Александр111, Hawk_1c, vbus, zzz_zzz_zzz, oleg_km, braynt, integer, бегинер, Somebody, Vstur, АЛьФ, глазковыколупыватель, , ТДК, Lepexa207, Homer, Волшебник, H A D G E H O G s, Шаграм, Prog_man, yzimin, maxar, ass1c, План счетов, ДенисСмирнов, FirstLineSupport, MWWRuza, kubik_live, Страждущий
| ☑ |
|
0
SAURON777
21.04.26
✎
12:22
|
Дано:
Документ pdf имеющий много страниц.
На каждой странице имеется текст.
Нужно искать определенный фрагмент текста на каждой странице. Если та или иная страница файла pdf содержит этот фрагмент, то эту страницу нужно сохранить в отдельный файл pdf.
Это возможно реализовать средствами 1С?
Напишите пожалуйста фрагмент кода.
|
|
|
1
Волшебник
21.04.26
✎
12:56
|
|
|
|
2
Garykom
гуру
21.04.26
✎
13:02
|
Уже не знаю что сказать по этому поводу...
|
|
|
3
Garykom
гуру
21.04.26
✎
13:03
|
(0) А ты токены оплатил?
|
|
|
4
Fish
гуру
21.04.26
✎
13:03
|
(0) "Это возможно реализовать средствами 1С?" - Возможно, но с привлечением сторонних инструментов.
|
|
|
5
Garykom
гуру
21.04.26
✎
13:05
|
(4) С чего это сразу сторонних?
1С 8.3 уже давно даже с бинарными файлами умеет нативно работать
А тут всего то текст внутри .pdf
|
|
|
6
Garykom
гуру
21.04.26
✎
13:07
|
(0) Требуется уточнение:
Файлы PDF содержат текст как текстовые блоки или как картинки/изображения с текстом?
|
|
|
7
SAURON777
21.04.26
✎
13:09
|
(6) Как текстовые блоки. Браузер легко ищет нужный текст в этом файле pdf.
|
|
|
8
Garykom
гуру
21.04.26
✎
13:22
|
(7) Тогда задача упрощается.
Используем "qpdf --split-pages infile.pdf %d-out" ( https://qpdf.readthedocs.io/en/stable/ ) для разделения всего файла pdf на отдельные страницы - файлы pdf.
Затем средствами 1С перебираем эти файлы страниц, открываем их как текст, ищем требуемый фрагмент.
Если нашли то файл страницы переносим в заданный каталог.
После обработки всех страниц удаляем ненужные.
ЗЫ
Пожалуйста, переключитесь в Act mode (используя кнопку Plan/Act toggle внизу интерфейса), чтобы я мог начать реализацию изменений.
|
|
|
9
d4rkmesa
21.04.26
✎
13:20
|
(8) Сдается мне, 1С тут лишняя в целом. )
|
|
|
10
Garykom
гуру
21.04.26
✎
13:22
|
(8)+ Сам qpdf можно засунуть в макет 1С, сохранять в темп, запускать оттуда и удалять после
|
|
|
11
Garykom
гуру
21.04.26
✎
13:25
|
(9) Есть такое
На практике потребуется Ghostscript
gs -sDEVICE=txtwrite -o output.txt input.pdf
Или нечто вроде чтобы правильно извлечь текст из PDF
Если там картинки - все еще хуже
|
|
|
12
Fish
гуру
21.04.26
✎
13:25
|
(5) Да (если внутри текст, как у ТС, а не картинка), но чтобы вычленить страничку из ПДФ и сохранить её отдельным ПДФ-ом всё равно понадобится сторонний инструмент.
|
|
|
13
Garykom
гуру
21.04.26
✎
13:35
|
(11)+ Вот с Ghostscript портативным все сильно хуже, я не смог его заставить
Требуется установка в систему, оно как-то к принтерам и подсистеме печати привязывается
|
|
|
14
Garykom
гуру
21.04.26
✎
13:27
|
(12) Любой сторонний можно наваять на коде 1С
Задолбаешься конечно и полгодика потратишь но можно же
|
|
|
15
Fish
гуру
21.04.26
✎
13:29
|
(14) Можно, но зачем (с)?
|
|
|
16
Garykom
гуру
21.04.26
✎
13:30
|
(15) Это возможно реализовать средствами 1С?
|
|
|
17
Garykom
гуру
21.04.26
✎
13:38
|
В типовой 1С ДО 2.1 задача (0) реализована через imagemagick + ghostscript
+ CuneiForm бесплатный для OCR - но качество распознавания текста с картинок говенное
|
|
|
18
SAURON777
21.04.26
✎
13:53
|
(8) "открываем их как текст" - а как их можно открыть как текст?
|
|
|
19
Garykom
гуру
21.04.26
✎
14:13
|
(18) Новый ЧтениеТекста(ФайлПолноеИмя)
Но не поможет потому что текст внутри может быть закодирован
Самому писать раскодировщик задолбаешься, проще использовать (11)
|
|
|
20
SAURON777
21.04.26
✎
15:15
|
(10) "+ Сам qpdf можно засунуть в макет 1С" - Там вроде как не один файл. Или я ошибаюсь?
|
|
|
21
trooba
21.04.26
✎
16:18
|
|
|
|
22
SAURON777
21.04.26
✎
17:10
|
(21) Но можно ли там скачать один файл такой сборки? Не вижу там такого.
|
|
|
23
Garykom
гуру
21.04.26
✎
17:14
|
(22) нет там такого
качай zip и сохраняй его
этот zip целиком в двоичный макет 1С засунь
когда надо создаешь папку в темп, сохраняешь туда из макета в файл .zip
распаковываешь средствами 1С и используешь
после не забудь почистить, удалить папку в темп со всем содержимым
|
|
|
24
Garykom
гуру
21.04.26
✎
17:18
|
https://github.com/qpdf/qpdf/releases
Вот тут выбирай 32 или 64 под архитектуру, 32 универсальней
mingw или msvc - пофиг, это каким компилятором собирали
mingw он с линуксов пришел, msvc он от мелкомягких
тебе надо .zip
которые .exe это инсталлятор для установки в систему
|
|
|
25
Garykom
гуру
21.04.26
✎
17:21
|
теоретически можно сам .exe с набором всех либ .dll упаковать в один .exe
но смысла нет - та же распаковка будет на диск в темп или память и запуск распакованного, с автоудалением после
|
|
|
26
SAURON777
21.04.26
✎
17:29
|
(25) Спасибо!
|
|