我正在使用javascript开发图像剪切应用程序。主要目标是将图像切割成易于打印的碎片并生成带有所述碎片的pdf。您可以在http://framingapp.com/和github https://github.com/jmorel/framingapp
上在线查找开发版图像处理本身效果很好,但是当涉及到pdf生成时,Chrome会杀死我的页面并显示aww snap
错误消息。我尝试使用那里提供的pdf generationg js库,jsPDF
和ByteScoutPDF
但是没有一个能够生成大型pdf(并且ByteScoutPDF
不是开源,我无法将其修改为支持更大的分辨率和各种页面大小。)
我认为我想要构建的pdf的大小使页面挂起,Chrome认为这是一个错误并将其杀死。我想过使用webworkers来避免这种情况但是无法使它们与jsPDF一起使用。 pdf对象似乎太复杂了,不能作为Web worker参数传递,因为它很大程度上依赖于我不能包含的窗口元素,并且在webworker中使用它。
我的问题是:无论如何在没有浏览器杀死页面的情况下在js中生成大型pdf?
在任何人问我为什么不做pdf生成服务器端之前:图像处理本身是一种密集型的,我不想用它来重载服务器;但主要原因是我不希望人们将图像上传到服务器:对于非常大的图像来说,它很慢且不实用。更不用说我服务器上的空间很小了。