【问题标题】:Library to create print-ready charts in PDF using PHP 5.3使用 PHP 5.3 在 PDF 中创建可打印图表的库
【发布时间】:2013-12-19 10:17:20
【问题描述】:

我必须使用 PHP 5.3 从动态数据创建一些格式精美的图表(条形图和 3D 饼图),并以 PDF 报告的形式输出。报告根本不会呈现到屏幕上。我使用 pChart2 作为 .png 文件制作了图表,并使用 tcpdf 将它们导入。该系统可以工作,但质量水平很差,将文本渲染为图形会导致打印时字体边缘模糊等。我调整了 .PNG 输出的图像大小,它做了一些改进,但它增加了文件大小,并且文本看起来仍然模糊。 所以我追求的是一个使用 PHP 创建图表的库,可以导出为 .svg 或 .eps 格式,因此元素由打印机绘制并清晰呈现以供打印。我使用 TCPDF 导入了 .EPS 格式的徽标,图像之间的差异非常明显。

我看到有一个名为ezcomponents 的库,我可以试一试。但在我深入研究之前,有什么建议可以告诉我在继续之前应该尝试什么吗?

【问题讨论】:

    标签: php charts tcpdf


    【解决方案1】:

    我在比我最终需要的大两到三倍的画布上渲染图像取得了相当大的成功,然后,一旦我完成,使用imagecopyrresampled() 函数将大图像复制到画布上较小的尺寸,我将其保存为 png 并添加到 PDF 文件中。抖动非常好,尤其是曲线,从这种方法中受益匪浅。文本可能没有那么大的好处,但值得一试,因为它应该只需要对您的代码进行很少的更改来试验这种方法。

    【讨论】:

    • 嗨詹姆斯。感谢回复。我发现渲染图像以使最终尺寸为 300dpi 提供了足够好的质量,但随后 TCPDF 制作 PDF 的速度非常慢(> 3 分钟),我让它自动从给定的图像高度计算宽度。我发现如果我明确设置宽度和高度,整个渲染需要 25 秒。此外,我删除了图表上的大文本(例如标题等),并使用 TCPDF 库将其直接呈现到图表页面上,因此文本呈现清晰。
    • 这是一个很好的关于明确包含图像宽度和高度的信息。以及将文本呈现在顶部的良好想法。干得好!
    猜你喜欢
    • 1970-01-01
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2010-11-30
    • 2012-05-22
    相关资源
    最近更新 更多