Javascript HTML打印出几个定义为字符串变量的SVG

Javascript HTML打印出几个定义为字符串变量的SVG,javascript,html,css,angular,svg,Javascript,Html,Css,Angular,Svg,在我当前的项目中,我需要打印出一个(或多个)SVG图形,这些图形存储在不同的字符串变量中。每个SVG必须打印在不同的页面中。我怎样才能做到这一点 我将SVG图形作为字符串变量的原因如下: 3pp库在内部管理图形模型,并将其显示在HTML画布中。图形模型可以包含多个页面(取决于模型的大小),但画布中只显示一个页面 这个3pp库能够返回一个JS字符串,并显示当前页面的SVG图形 我的应用程序必须修改每个SVG字符串,以包含一个包含信息的表 最后,我必须在不同的页面(纸张)中打印每个SVG(页面)

在我当前的项目中,我需要打印出一个(或多个)SVG图形,这些图形存储在不同的字符串变量中。每个SVG必须打印在不同的页面中。我怎样才能做到这一点

我将SVG图形作为字符串变量的原因如下:

  • 3pp库在内部管理图形模型,并将其显示在HTML画布中。图形模型可以包含多个页面(取决于模型的大小),但画布中只显示一个页面
  • 这个3pp库能够返回一个JS字符串,并显示当前页面的SVG图形
  • 我的应用程序必须修改每个SVG字符串,以包含一个包含信息的表
  • 最后,我必须在不同的页面(纸张)中打印每个SVG(页面)
我考虑过的选择是:

  • 将每个字符串SVG的内容放在一个新的“可打印”HTML元素中,并使用Window.print和CSS可打印选项仅打印这些新元素
然而,这似乎是一个非常大的“变通办法”,我事先不知道这是否可行


有人有更好的主意吗?任何体验?

您可以使用
[innerHTML]=“mySvgString”
添加它,如中所示。听起来像是添加分页符。这意味着在HTML中为每个SVG定义一个div。然而,我在设计时不知道页面的数量,因此也不知道div的数量。我可以从JS代码中直接添加这些div以打印并在以后删除它们吗?当然,使用
,然后只需将svg字符串添加到
svg
arrayTrue!我没有意识到这一点。谢谢你的帮助,我会试试你的建议,看看会发生什么。