как достать из pdf проекта сделанного в AutoCAD цифры, а после заменить старые цифры, используя только консоль линукса

Нужно достать цифры

Сделать операции

И поставить новые назад на те же места

Terminal only


Ответы (1 шт):

Автор решения: eri

Понадобится инструмент. Этот подойдет чтоб получить читабельный код из того файла

sudo apt install mupdf-tools

Распакуем потоки внутри файла

mutool clean -d 1.pdf m1.pdf

В нем будет доступен текст. В этом документе текст выводится командой Tj

grep -a -E "Tj|Tm"  m1.pdf 

В команде Tm стоят координаты текста

1 0 0 1 12589 51734 Tm
(2.27) Tj
1 0 0 1 20014 51734 Tm
(2.25) Tj
0 -1 1 0 30407 45125 Tm
(3.01) Tj
0 -1 1 0 30407 35225 Tm
(3.00) Tj
0 -1 1 0 30407 25324 Tm
(3.00) Tj
0 -1 1 0 30407 15424 Tm
(3.00) Tj
0 -1 1 0 30407 8062 Tm
(1.50) Tj
0 -1 1 0 22250 49284 Tm
(34) Tj
0 -1 1 0 22250 29426 Tm
(35) Tj
0 -1 1 0 22250 9625 Tm
(36) Tj
0 -1 1 0 22250 49284 Tm
(34) Tj
0 -1 1 0 22250 29426 Tm
(35) Tj
0 -1 1 0 22250 9625 Tm
(36) Tj
0 -1 1 0 11812 30551 Tm
(-380) Tj
0 -1 1 0 26656 20651 Tm
(-503) Tj
0 -1 1 0 11812 20651 Tm
(-446) Tj
0 -1 1 0 19237 20651 Tm
(-474) Tj
0 -1 1 0 19231 50352 Tm
(-276) Tj
0 -1 1 0 26656 30551 Tm
(-437) Tj
0 -1 1 0 11811 50352 Tm
(-248) Tj
0 -1 1 0 11812 40451 Tm
(-314) Tj
0 -1 1 0 26656 50352 Tm
(-305) Tj
0 -1 1 0 26656 40451 Tm
(-371) Tj
0 -1 1 0 19231 40451 Tm
(-342) Tj
0 -1 1 0 11812 10750 Tm
(-511) Tj
0 -1 1 0 11819 5800 Tm
(-544) Tj
0 -1 1 0 19231 5800 Tm
(-573) Tj
0 -1 1 0 19231 10750 Tm
(-540) Tj
0 -1 1 0 26656 10750 Tm
(-568) Tj
0 -1 1 0 26656 5800 Tm
(-601) Tj
0 -1 1 0 19231 30551 Tm
(-408) Tj

Даже можно поправить этот текст, но начертание на экране от этого не изменится. Но если выделить мышкой и скопировать - он скопируется с новым значением.

Само начертание закодировано дальше по тексту в вектор командами l.

Можно вычистить эти obj и нарисовать новые поверх например через reportlab. Или конвертнуть в svg и разметить там шаблон.

→ Ссылка