该任务并不容易,因为我需要在单击按钮后创建页面的PDF版本。它具有复杂的dom结构,许多元素绝对/相对定位,并且数据是动态加载的。我想过使用Phantom.js服务器来完成这项任务,因为它可以生成PDF文件,但这会带来一些问题;如何生成在服务器上以PDF的形式运行的页面
- phantomjs可以是从控制台运行(在这里是不可能的,因为生成的PDF文件必须是可用在UNIX和WIN系统,只有shell脚本可以从网页中运行),或者使用其内置的服务器
- 服务器与运行该页面的服务器具有不同的域,所以同源策略出现问题。我正在考虑使用带有phantomjs服务器地址的iframe作为src和我的页面html传递给参数,但参数太长并返回413错误。 JSONP将无法正常工作,因为它是为GET请求而构建的,并且出现过长参数的相同问题。
我也想过产生它的客户端,但由于现场的复杂性,可能会花费我很多天才能获得页面的适当代表(因为所有的定位值,需要重新计算到分) ,它必须是一个通用的解决方案。
任何其他的想法如何解决这个问题?
你在服务器上运行什么? –
这是一个与MySQL的Apache,应用程序本身是纯粹的JavaScript写在ExtJs –
啊,我在.Net上运行DynamicPDF和Aspose,但我不认为这对你有很大帮助。 –