繁体   English   中英

在通过AJAX动态添加一些内容后,如何将当前页面转换为pdf?

[英]How can I convert my current page to pdf after some content dynamically added via AJAX?

我在PHP中找到了一些可以完成这项工作的库或Web服务。 问题是转换是在页面完全加载时完成的,我想在onload事件中通过AJAX动态添加一些内容之后 将页面转换为PDF

非常感谢,奥马尔

您可以将document.getElementsByTagName('html')[0].innerHTML回服务器(可能使用AJAX)并从中生成PDF。

当您使用AJAX添加内容时,这只发生在客户端的计算机上,因此服务器端的PHP转换代码将无法使用它。 如果要在服务器上进行PDF创建,则需要提供包含动态内容的服务器端方法。

在添加动态匹配之后,您可以实现将页面内容/状态发送回服务器端的AJAX调用,其中可以将其呈现为pdf。 您可能不需要所有页面,具体取决于此“动态内容”的去向。

看起来有点混乱,但是在不知道项目的情况下,很难说是否可以采用更清洁的方法来做你想做的事情。

由于Ajax情况,这是客户端要求。 如果他们使用Mac,他们可以简单地保存为PDF,但除此之外你几乎无法控制他们可以做什么。

但是,对于服务器端实现,您可以做的是保存页面及其加载该页面后的所有AJAX请求的记录,并在请求时从该记录构建服务器上的HTML和PDF。 当然,这不是一项简单的任务,而且相当矫枉过正。 除了将HTML转换为PDF之外,您可能最好使用不同的机制来创建页面的服务器端PDF报告。

如果您的页面只能在客户端上更新而无需访问服务器,则必须回发到您的应用程序。 这样你就拥有了所有的内容,并且不会重建,如果只有客户端的交互那么这是不可能的。

哇,谢谢大家我不知道这是社区如此活跃。 要回答有关该项目的Beepcake:

当页面加载应用程序时,通过AJAX请求从40多台服务器检索生物信息,然后会显示一个独特的视图,您可以使用许多选项操作图形。

因此,当用户制作自己的图形版本时,很酷的事情就是打印。 我认为最好的解决办法是用POST document.getElementsByTagName(“HTML”)的整个HTML [0] .innerHTML作为RoBorg所说然后生成与库如DOMPDF的PDF

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM