我想知道是否可以在 php、jquery 或 javascript 的页面内创建 div 的图像?甚至只是整个页面的屏幕截图(在我自己的服务器上 - 不是外部的)..
我想要做的是创建一个图形的图像(通过 jQuery 绘制)并将其传递给 PDF,因为我似乎无法让 jQuery 显示在 pdf 中。
我想知道是否可以在 php、jquery 或 javascript 的页面内创建 div 的图像?甚至只是整个页面的屏幕截图(在我自己的服务器上 - 不是外部的)..
我想要做的是创建一个图形的图像(通过 jQuery 绘制)并将其传递给 PDF,因为我似乎无法让 jQuery 显示在 pdf 中。
由于存在安全风险,无法获取 Javascript 对网页进行截图。这将允许您窃取信用卡信息等...您可以使用主动 X 控件或类似的东西,但客户端必须有意识地安装它才能使事情正常工作。
在 PHP 中,您可以创建图像并将其放置在网页上,但同样,您无法看到客户端屏幕上的内容。它必须在发送到客户端之前在服务器上完成。
这是一个可用于在 PHP 中绘制图形的库示例。 http://www.aditus.nu/jpgraph/
您可能能够在您的脚本中模仿 jQuery 正在做的事情,但它会改变您的应用程序设计。
If your javascript draws the graph on a canvas, you can serialize the canvas and then send it to the server using POST.
I don't know if jquery can draw the graph on a canvas, but if the graph is a simple one you could probably code it yourself as canvas has drawing tools already.
Obviously, this only works with browsers supporting canvas.
最好的办法是使用服务器上的 GD 库根据需要生成图形。没有实用的方法来截屏浏览器画布。查看这个 PHP 图形库,它可能是您正在寻找的:
http://graphpite.sourceforge.net/
如果您在服务器上不存在的客户端进行处理时遇到问题(即:汇总行或从 cookie 中获取用户设置),您可能需要考虑将该数据传递回服务器并让您的主机处理它(毕竟,这就是为什么您运行具有大量 RAM 和大 CPU 的服务器来处理数字)。
看看这篇文章:
http://www.developerfusion.com/code/181/capture-screenshot/
它不是客户端代码,但您提到了 PHP,所以服务器端代码可能是一种选择。我不认为你可以在客户端做到这一点......
如何使用服务器端图形生成器,例如 PHP?也许过渡很痛苦,但你会得到一个非常稳定和简单的解决方案。
如果您描述了您确切生成的图表类型以及您拥有的服务器端选项,我相信您会得到一些具体的提示。