как достать из pdf проекта сделанного в AutoCAD цифры, а после заменить старые цифры, используя только консоль линукса
Ответы (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 и разметить там шаблон.
