2014-01-07 55 views
5

我使用PhantomJS将许多(+500)网页转换为PDF文档。问题是,对于相对较小的页面,我一直收到相当大的PDF文件(大约900 kb) - 带图像的70 kb。他们为什么这么大? Firefox中的一个简单的“保存为PDF”文件会创建一个200 kb的文件,这很好。我很快就要处理许多其他页面,文件大小可能会成为问题。任何建议?PhantomJS生成大型PDF

编辑:这里有两个样本:输出PhantomJSFirefox save to PDF

+2

如果可能,请使用专业工具(如Acrobat Pro)来审核您的PDF - 它会告诉您所有字节的位置。如果没有,发布一个链接到在线样本。问题出在PhantomJS本身 - 即无法尽可能紧凑地压缩,不能对字体进行子集化等等。 – usr2564301

+0

我同意Jongware,使用一些PDF工具来找出问题。我敢打赌,phantomjs不会做任何压缩。 – JasonS

回答

2

即使我面临同样的问题。当数据量很大时,我试图减小pdf的大小。我观察到的是,如果您在任何这些标头标签(h1,h2 ... h6)内转储了您的文本内容(示例段落,表格数据,描述等),则这部分内容将呈现为PDF格式,而不是图像。这将减少大量的PDF文件大小。

我不确定为什么div,p,span标签中的内容不被视为文本,而是作为pdf中的图像处理。