使用mPdf缩放SVG路径并转换
P粉287726308
P粉287726308 2023-08-16 17:57:54
[PHP讨论组]

你好,我在SVG方面遇到了问题。

首先,我将SVG放入HTML中,通过输入类型为radio的方式,用户可以缩放此SVG(通过添加带有百分比值的宽度样式属性)。但是当我将其发送给mpdf(SVGs在JSON中)时,它不起作用。

然后我尝试在pdf上计算大小,但我无法适应此SVG的viewbox/size。

所以我得到的SVG如下:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-number" width="686.280029296875px" height="540.8900146484375px" viewBox="62.619998931884766 245 686.280029296875 540.8900146484375" style="width: 28%; height: auto;"><path fill="#ffffff" id="path-svg-number" d="M277.95 252.69L277.95 785.89L171.02 785.89L171.02 347.17L62.62 347.17L62.62 271.73L277.95 252.69ZM748.90 703.86L748.90 785.89L384.89 785.89L384.89 715.94L557.37 531.01Q594.73 488.16 610.47 458.68Q626.22 429.20 626.22 403.93L626.22 403.93Q626.22 370.24 608.09 348.82Q589.97 327.39 556.64 327.39L556.64 327.39Q519.65 327.39 500.43 352.48Q481.20 377.56 481.20 419.31L481.20 419.31L377.20 419.31L376.46 417.11Q374.63 344.97 423.89 294.98Q473.14 245.00 556.64 245.00L556.64 245.00Q639.04 245.00 686.10 287.84Q733.15 330.69 733.15 402.10L733.15 402.10Q733.15 450.44 706.60 491.27Q680.05 532.10 618.90 598.39L618.90 598.39L524.05 702.03L524.78 703.86L748.90 703.86Z"></path></svg>

我想在pdf上渲染它,但尺寸不同。

function getPrintSize(container) {
    let renderSize = getElementSize(container);
    let scale = getScale(); //返回整数值,例如33

    return {
        width: (renderSize.width * 100) / scale, //例如 (159 * 100) / 24.127 = 659.013
        height: (renderSize.height * 100) / scale //例如 (125 * 100) / 24.127 = 518.092
    }
}

然后新的SVG应该是659.013px x 518.092px,但我无法设置新的正确尺寸(mPdf不支持style="width: ..."。理论上它部分支持此标签,但实际上不支持)。

在mPdf中,我尝试这样渲染它:

...
$template .= '<td align="center" style="width: 1890px; height: 913px; vertical-align: middle">'.$data->number.'</td>';
...

有人有任何想法如何通过路径缩放此SVG吗?

P粉287726308
P粉287726308

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号