与样式PDF转换SVG

问题描述 投票:1回答:1

有困难的SVG转换为PDF时保留的风格。我使用从cloudFormatter.com cssToPdf。

但我需要使用的样式搭配,混合模式:乘;但是当我创建PDF它不保存。

我一直在使用的SVG元素的风格的行内尝试过,也把风格融入HTML头,并通过使用一个外部的style.css文件。但是在每种情况下我没有得到“mutliply效应”。

如何获取PDF生成识别SVG元素的样式?

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>csstopdf</title>
    <link rel="stylesheet" href="style.css">
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    <!-- <style>
      circle {
        mix-blend-mode: multiply;
      }
    </style> -->
  </head>
  <body>
    <div>
      <svg id="svgCircles" version="1.1" xmlns="http://www.w3.org/2000/svg" width="300" height="300" x="0" y="0" viewBox="0 0 150 150">
        <!-- <circle cx="50" cy="50" r="40" stroke-width="4" fill="green" style="mix-blend-mode: multiply;"/>
        <circle cx="75" cy="75" r="40" stroke-width="4" fill="red" style="mix-blend-mode: multiply;"/>
        <circle cx="100" cy="50" r="40" stroke-width="4" fill="blue" style="mix-blend-mode: multiply;"/> -->
        <circle cx="50" cy="50" r="40" stroke-width="4" fill="green" />
        <circle cx="75" cy="75" r="40" stroke-width="4" fill="red" />
        <circle cx="100" cy="50" r="40" stroke-width="4" fill="blue" />
      </svg>
    </div>
    <div class="btn-group" onclick="xepOnline.Formatter.Format('svgCircles');" role="group" aria-label="...">
      <button type="button" class="btn btn-warning">Generate svgCircles!</button>
    </div>
     <script src="xepOnline.jqPlugin.js"></script>
  </body>
</html>

该xepOnline.jqPlugin.js文件太大,包括在这里。但它可以在http://www.cloudformatter.com/Resources/Pages/CSS2Pdf/Script/xepOnline.jqPlugin.js找到或从cloudformatter.com下载

style.css文件,

circle {
  mix-blend-mode: multiply;
}

还有就是这对gh-pages工作示例

回购协议是在https://github.com/shanegibney/csstopdf

任何帮助,这将不胜感激,

谢谢,

javascript styles css-to-pdf
1个回答
2
投票

因为我是这个应用程序的作者之一,我会添加这个作为一个答案。

该@cloudformatter css2pdf应用程序是基于RenderX的XEP引擎之上。他们对SVG的转换支持的详细位置:

RenderX's SVG Support

如果你的愿望是不在该列表中,然后它目前不支持。

从本质上讲,@cloudformatter把你的HTML + CSS与如有包括SVGs发送到远程服务器。该服务器做一些清理和内容发送到XSL FO的格式化引擎转换。所使用的格式化引擎是RenderX XEP。因此,它是做所有的格式从内容到输出(PDF,后记,AFP,XPS,其他)。那是什么潜在的引擎支持是什么支持。

在你的情况下,它看起来像不支持混合,混合模式。

© www.soinside.com 2019 - 2024. All rights reserved.