像CRystal Reports for PHP?

2022-08-30 14:36:01

我正在寻找在PHP中工作的东西,类似于水晶报告。我基本上需要有一个布局设置,这意味着我只需插入数据即可输出发票,然后将其发送到打印机。

到目前为止,我发现最接近的是PDFB,但它有点痛苦,因为它需要有精确的定位。

我希望有一些东西可以基于模板(最好是基于XML)生成发票,然后将其输出到易于我们打印的表单中(PostScript会很好!

它还需要支持条形码(尽管这些条形码可以生成为GD图像)

另一个要求是,这必须是牙线


答案 1

通过 PHP-JavaBridge 使用 XML + XSL:FO 和 Apache FOP

操作方法如下:http://wiki.apache.org/xmlgraphics-fop/HowTo/PHPJavaBridge

PostScript会很好!

许多PostScript打印机也理解PDF。


答案 2

我已经在PHP中使用过,它已经足够好了。不是所见即所得,但它确实会生成XSL文件,我对此感到满意。之后,您可以使用 OpenOffice 宏将文档转换为 PDF。它从命令行工作,因此,它也从PHP脚本工作。Spreadsheet_Excel_Writer

或者这里有一个更好的方法。

使用 OpenOffice 转换 Smarty 模板。Smarty是PHP的一个很酷的模板引擎,我推荐它用于此目的。然后使用PHP和Smarty生成纯HTML。最后,只需使用上述方法将生成的HTML转换为PDF即可。

报告革命性(tm)。

编辑 Jun6 2009改装下来了吗?啊,别介意。

无论如何,此方法适用于无外设服务器,而无需运行X11。我从提到的链接中获取了脚本(除了我将其放在预先存在的集合“标准”而不是“DannysLibrary”中),然后我使用PuTTY从Windows机器运行此命令,并且X在远程计算机上关闭,并且DISPLAY变量未设置,并且...好吧,无论如何,OOo不可能找到X11来连接。

$ openoffice.org -invisible -headless "macro:///Standard.Conversion.ConvertWordToPDF(`pwd`/logaritamska.doc)"

这很有效,我相信这对于任何需要从另一种格式转换为PDF的人来说都非常有用,包括从HTML制作可打印的报告。通过编辑宏,您甚至可以让OOo直接从stdin或临时服务URL读取,并输出到预定义的文件中。一旦你有了要扩展的基本代码,链接上的脚本就非常简单了。

总结:

  • 生成 XLS 或 HTML 格式的报告
  • 转换它们
  • 即使它是OOo,它也可以在无头机器上工作

编辑 Jun 9 2009我试图以这种方式实现在线转换器。您应该使 PHP 在创建宏的同一用户下运行。此用户显然不能是 www-data。我试图使用suphp,但由于某种原因,它没有正确更改用户(不断返回33,即www-data)。修复此问题后,我将对其进行编辑。posix_getuid()

编辑 Jun 26 2009猜猜我花了一段时间才报告回来。是的,这适用于 suphp。然而,我无法实时展示它,因为我唯一运行的服务器是一个相对关键的Web应用程序,该应用程序没有专业的安全审计。这意味着我们保护后端所依赖的一件事是,运行前端的用户是非常非常不特权的用户(例如www-data)。不要问:-)

希望这对某人有所帮助:是的,使用OO.o转换为PDF是相当现实的。OO.o中甚至有一些远程呼叫支持,但我没有仅仅为了写这篇文章而研究它。


推荐