Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在web上生成交互式多页图形?_Javascript_Html_Canvas_Svg - Fatal编程技术网

Javascript 如何在web上生成交互式多页图形?

Javascript 如何在web上生成交互式多页图形?,javascript,html,canvas,svg,Javascript,Html,Canvas,Svg,我想创建一个具有2D图形内容的web应用程序/页面,用户可以在其中以交互方式单击图形进行交互/修改。允许使用的语言是PHP和JavaScript,只有现代浏览器Firefox和Chrome以及Android和iOS是必需的 这是一个简单的部分,因为它可以使用SVG或SVG来完成 但是问题出现了,结果必须是可打印的,并且图形太大,以至于它将跨越多个页面。 分页符必须由程序严格控制,并且每一页还可以获得一些定义的帧/背景 实现这样一个应用程序的最佳技术是什么 打印视图将使用由应用程序密切控制的多个内

我想创建一个具有2D图形内容的web应用程序/页面,用户可以在其中以交互方式单击图形进行交互/修改。允许使用的语言是PHP和JavaScript,只有现代浏览器Firefox和Chrome以及Android和iOS是必需的

这是一个简单的部分,因为它可以使用SVG或SVG来完成

但是问题出现了,结果必须是可打印的,并且图形太大,以至于它将跨越多个页面。 分页符必须由程序严格控制,并且每一页还可以获得一些定义的帧/背景

实现这样一个应用程序的最佳技术是什么

打印视图将使用由应用程序密切控制的多个内容,并希望浏览器在画布之间完全断开页面?有没有办法强迫浏览器这样做

或者这可以通过SVG实现? SVG1.2具有多页支持,但SVG2 AFAIK放弃了这一支持


附加说明:如果两者都有可能,我更喜欢SVG,因为内容是高度矢量化的,当用户打印成PDF时,它会产生更好的结果

而且,您不应该尝试自己实现分页符。专用于图形的应用程序可以处理将图像格式化到纸上所需的细节。例如,你知道你可以用一台巨大的打印机,把所有的内容都放在一页纸上吗?只需生成所需的大图像,然后让脱机程序进行打印。新闻部也是一个因素。您可能希望生成10000像素或更宽/更高的图像,以获得精细的大规模打印。浏览器可能会在您生成/加载/保存数据之前崩溃。即使在阅读了您的问题之后,我也不确定您在搜索什么,但我建议您从.PDF开始。PDF功能包括:同时呈现屏幕和可打印、内置分页,允许SVG内容。@starlocke我可以控制分页符,这一点很重要,例如,在下一页继续的行需要特殊标记和符号,如标记新页上重新开始的坐标。Cf作为我想创建的内容的第一个谷歌点击…@markE你是对的,PDF是用户将创建的完成结果的完美格式。但它不是交互式的,我可以用它来让用户修改和处理内容。当然,我可以同时使用这两种工具,一种是用于交互部分的大型图形,如SVG,另一种是PDF导出,以获得正确的逐页打印。但由于这应该是一个小项目,我担心需要创建两个输出流——一个用于SVG中的交互,另一个用于PDF中的导出和打印。您可以使用javascript构建PDF的fEx:这样您就可以在javascript中获得所需的动态,并在.PDF中获得所需的格式。如果使用画布或svg进行动态编辑,则可以在页面将中断的位置覆盖一条虚线,这样您就可以知道.pdf的分辨率(以像素为单位),从而可以将分页符线放置在编辑器中适当的像素位置。