JM4*_*JM4 10 php pdf pdf-generation fpdf tcpdf
我知道有很多关于这两个的帖子,但我想我会解决一个明显的问题.我们的一位设计师最近给我发了一些TCPDF的文件,因为他的朋友说它"更好".
在过去,我们使用FPDF来完成PHP中的所有PDF生成,但是我发现了一个巨大的明显区别:
fpdf.php的文件大小:46KB
tcpdf.php的文件大小:996 KB
注意:上面的文件大小是实际的php文件,而不是PDF的生成.
我真的没有太多的耐心坐下来看看两者之间的所有差异,但似乎不值得切换真正的巨大文件差异.SO上的大多数人似乎都非常喜欢TCPDF,但是给出了什么呢?
为什么大小不同,我应该担心我的服务器每天要加载1MB文件数百或数千次,而50KB文件几乎完全相同?我不是说我的PDF文件更大.PHP脚本本身的文件大小为1MB到40Kb.
我避免使用TCPDF,因为它的许可证不友好(您必须在生成的PDF文档中保留链接+徽标).(注意:许可证似乎已更改,现在是标准LGPLv3:http://www.tcpdf.org/license.php )
也就是说,更大文件大小的通常原因是嵌入字体.您可以通过多种不同方式指定字体:
第一个选项产生最小的文件 - 我猜这是你用于FPDF的.请注意,PDF在不同系统上的显示可能会有所不同.
在第二个选项产生最大的文件.由于字体存在(理论上 - 我没有经验)可以编辑文件并以相同的字体添加文本.
在第三个选项是,在大多数情况下使用的一个,但是,它是最难的库来实现和核心FPDF不支持它(但TFPDF一样).它只嵌入使用的字形,因此它可以生成非常小的跨平台PDF.
几年前TCPDF不支持第三种选择(但是,现在可能已经改变了).正如我所提到的,它在核心FPDF中也不受支持 - 但是,它在MPDF和TFPDF(我已经在许多项目中成功使用)中得到支持.
另一方面,我没有使用TCPDF的另一个原因是先生的不友好和无助的态度.Asani(开发人员)与FPDF/MPDF/TFPDF社区(Oliver,Ian,...)对比FPDF论坛.在他承认TCPDF不支持部分字体嵌入之前,它在论坛上花了2周的时间.但是,许可证对我来说是一个真正的交易破坏者.
所以,回答你的问题:你可以通过不嵌入字体使TCPDF生成更小的文件.但许可证应该是转换许可证的主要原因.:)
我花了一点时间比较了这两个来源。
fpdf几乎没有评论。
tcpdf 有更多的方法,但也有完整的类似 phpDoc 的注释块,在每个方法和属性之前都有每个参数和用法的解释以及 html 格式的示例。我想说这是文件大小很大的主要原因。