Можно ли определить ширину (в пикселях) текстовых строк, когда SVG создаются с помощью сценариев - PullRequest
3 голосов
/ 01 сентября 2011

Я собираюсь создать набор SVG-графики с (вероятно) Perl-скриптом. Эти SVG-графики будут содержать текстовые блоки. Поскольку я хочу «соединить» такие текстовые блоки (различной ширины) со строками, я хотел бы знать, какой будет ширина текста, чтобы я мог соответственно нарисовать длину соединительных линий.

Я видел в SVG получить ширину текстового элемента , что это возможно с помощью сценария Java. Но, вероятно, это не то, что мне нужно, поскольку я не собираюсь размещать SVG в браузере.

Итак, я подумал, что, возможно, есть способ узнать желаемую ширину во время выполнения скрипта. Если кто-то может указать мне на решение (также за пределами Perl, но на окнах), я был бы очень благодарен.

1 Ответ

1 голос
/ 02 сентября 2011

Я сделал это ровно год назад, используя PDF :: API2 и функцию advancewidth: https://metacpan.org/module/PDF::API2::Content#width-txt-advancewidth-string-text_state-

Обратите внимание, что вам нужно соотнести DPI PDF и SVG: они могут отличаться (я на самом деле сделалчто просто разделив значения на 1,25, вы можете быть лучше).

PDF :: API2 дает вам очень точные значения, которые хорошо работают для Inkscape (в моем случае).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...