我在Flex AIR应用程序中使用开源PurePDF库。问题在于表现:
生成PDF需要100%的CPU使用率和太长时间。
我对它进行了一些分析 发现用pdf写的文字是 昂贵。这就是为什么我需要知道我的原因 可以提高性能。是 有pdf的任何字体 一代更便宜,或者 是否有一些设置或提示可以做到这一点 过程在某种程度上更好 性能
其次,在图像的情况下,将该元素写入PDF时, ImageElement 生成非常昂贵。有没有办法减少处理?
同时,我找到了一种方法来减少ImageElement生成处理,方法是使用flex调整图像大小,然后将小图像的位图数据传递给图像元素。它工作正常,我已经在很大程度上减少了执行时间。还有其他人对其他问题有想法吗?
请帮助 - 提前谢谢。
答案 0 :(得分:0)
有没有办法告诉PDF以块的形式工作,或者分割工作的方式可能需要更长的时间才能完成,但是在生成PDF之前不要让GUI暂停
你可以通过生成一个线程使生成异步......我在flash中提出的最好方法是使用代码:
import flash.utils.setTimeout;
import flash.events.Event;
import flash.events.EventDispatcher;
...
setTimeout(function():void {
//TODO asynchronous schtuff
dispatchEvent(new Event(Event.COMPLETE));
}, 0);
答案 1 :(得分:0)
使用purePDF优化PDF生成的方法是通过不时地创建组件来分割purePDF组件生成的工作,并通过图像大小调整解决主要问题
由于图像需要花时间嵌入PDF中,因此在此过程中所花费的时间与图像大小成正比。
因此,首先缩小图像的大小,然后嵌入PDF(请记住,如果尺寸减小到很大,它会大大降低图像的质量)继续尝试以获得最佳尺寸,以获得足够好的质量和生成PDF的速度。
最后一件事是避免透明图像,因为他们需要更多处理只使用透明度,如果必须另外使用,否则使用白色背景的图像。