perl - 是否可以在使用脚本创建 SVG 之前确定文本字符串的(像素)宽度

标签 perl winapi text svg

我打算使用(可能)perl 脚本创建一堆 SVG 图形。这些 SVG 图形将包含文本 block 。由于我想用线条“连接”此类文本 block (不同宽度),我想知道文本的宽度,以便我可以相应地绘制连接线的长度。

我在SVG get text element width中看到过这可以通过java脚本实现。但这可能不是我想要的,因为我不打算在浏览器中托管 SVG。

所以,我想也许有一种方法可以在脚本运行时找出所需的宽度。如果有人能给我指出一个解决方案(也在 Perl 领域之外,但在 Windows 上),我将非常感激。

最佳答案

大约一年前,我使用 PDF::API2 和 advancewidth 函数做到了这一点:https://metacpan.org/module/PDF::API2::Content#width-txt-advancewidth-string-text_state-

请注意,您需要关联 PDF 和 SVG 的 DPI:它们可能不同(实际上我只是将值除以 1.25,您可以做得更好)。

PDF::API2 为您提供非常准确的值,非常适合 Inkscape(就我而言)。

关于perl - 是否可以在使用脚本创建 SVG 之前确定文本字符串的(像素)宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7274946/

相关文章:

perl:通过 SSH 运行远程 perl 脚本并查询远程机器上的环境变量

c++ - 在 C++ 中启动 html 文件

text - 如何使用.Net 2.0绘制混合格式的文本

javascript - 如何将变量值从 javascript 传递到 perl

linux - Perl - 基本的 STDIN 问题

c++ - EvtSubscribe 拉与推模型

c# - 将文本拆分为 2 种颜色

file - 有人可以指点我一本未分类的字典吗?

perl - 模拟 Perl 的 Test::More::done_testing 最惯用的方法是什么?

c++ - 在预定义的注册表项句柄上调用 RegCloseKey