我在PHP中找到了一些可以完成这项工作的库或Web服务。问题是转换是在页面完全加载时完成的,我想将页面转换为PDF后之后通过AJAX在onload事件中动态添加一些内容。如何在通过AJAX动态添加一些内容后将当前页面转换为pdf?
非常感谢你, 奥马尔
我在PHP中找到了一些可以完成这项工作的库或Web服务。问题是转换是在页面完全加载时完成的,我想将页面转换为PDF后之后通过AJAX在onload事件中动态添加一些内容。如何在通过AJAX动态添加一些内容后将当前页面转换为pdf?
非常感谢你, 奥马尔
哇,谢谢大家我不知道这是comunity是如此活跃。要回答关于该项目的Beepcake:
当页面加载应用程序时,通过AJAX请求从40多个服务器中检索生物信息,然后显示一个独特的视图,您可以在其中使用多个选项来操作图形。
因此,当用户制作他自己的图形版本时,很酷的事情就是打印。我认为最好的解决办法是用document.getElementsByTagName(“HTML”)[0] .innerHTML作为RoBorg所说要发布整个HTML,然后生成与库中的PDF如DOMPDF
当您使用AJAX添加内容,这是只有在发生客户机上,所以服务器端PHP代码的转换将无法使用它。如果您想在服务器上创建PDF,您需要提供包含动态内容的服务器端方法。
由于Ajax情况,这是客户端要求。如果他们使用Mac,他们可以简单地保存为PDF格式,但除此之外,您无法控制自己的功能。
但是,对于服务器端实现,您可以执行的操作是自加载该页面以来记录页面及其所有AJAX请求,并在请求时从该记录构建服务器上的HTML和PDF。当然,这不是一个简单的任务,而且相当矫枉过正。除了将HTML转换为PDF之外,您可能更适合使用不同的机制来创建页面的服务器端PDF报告。
您可能可以实现一个AJAX调用,该页面将内容/状态发送回服务器端,添加动态页面之后,可以将其显示为pdf。你可能不需要所有的页面,这取决于这个“动态内容”的去向。
似乎有点混乱,但不知道项目很难说是否有更干净的方法来做你想做的事情。
您可以回发document.getElementsByTagName('html')[0].innerHTML
到服务器(可能使用AJAX)并从中生成PDF。
如果您的页面只能在客户端上更新,而无需前往服务器,则必须回发到您的应用。这样你就可以拥有所有的内容,而且不会重建,如果只有客户端的交互,这是不可能的。