Что-то вроде Crystal Reports для PHP?


Я ищу что-то, что работает на PHP и похоже на crystal reports. Мне в основном нужна настройка макета, которая означает, что я могу выводить счета-фактуры, просто вставляя данные, а затем отправлять их на принтер.

Самое близкое, что я нашел до сих пор, - это PDFB, но это немного больно, так как ему нужно точное позиционирование.

Я хотел бы иметь что-то, что могло бы генерировать счет-фактуру на основе шаблона (предпочтительно на основе XML), а затем выводить его в форму, удобную для нас распечатать (постскриптум был бы хорош!)

Он также должен поддерживать штрих-коды (хотя они могут быть сгенерированы в виде изображения GD)

Еще одно требование заключается в том, что это должна быть ЗУБНАЯ НИТЬ

Author: Mez, 2009-04-14

12 answers

Используйте XML + XSL:FO с Apache FOP через PHP-javabridge.

Вот как: http://wiki.apache.org/xmlgraphics-fop/HowTo/PHPJavaBridge

Постскриптум был бы хорош!

Многие принтеры PostScript также понимают PDF.

 12
Author: vartec, 2009-04-14 14:11:19

Я использовал Spreadsheet_Excel_Writer в PHP, и этого достаточно. Не WYSIWYG, но он генерирует XSL-файлы, и я доволен этим. После этого вы можете использовать макрос OpenOffice для преобразования документа в PDF. Он работает из командной строки, следовательно, он также работает с PHP-скриптами.

Или вот еще лучший способ.

Используйте OpenOffice для преобразования шаблона Smarty. Smarty - классный движок шаблонов для PHP, я рекомендую его для этой цели. Затем сгенерируйте чистый HTML с помощью PHP с помощью Smarty. Наконец, просто преобразуйте сгенерированный HTML в PDF, используя вышеупомянутый метод.

Отчетность произвела революцию (tm).

РЕДАКТИРОВАТЬ 6 июня 2009 Модифицированный? Ах, неважно.

В любом случае, этот метод работает на безголовом сервере без запуска X11. Я взял сценарий из упомянутой ссылки (за исключением того, что я поместил его в уже существующую коллекцию "Стандарт" вместо "Dannyslibrary"), а затем я выполнил эту команду с компьютера Windows, используя PuTTY, и X был выключен на удаленная машина, и переменная ОТОБРАЖЕНИЯ не была установлена, и... ну, в любом случае, ООО никак не может найти X11 для подключения.

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

Это работает, и я уверен, что это отлично подойдет для всех, кому потребуется преобразование из другого формата в PDF, включая создание отчетов для печати из HTML. Отредактировав макрос, вы, возможно, даже сможете заставить OOO считывать данные непосредственно из стандартного ввода или с вашего временного URL-адреса службы и выводить их в предопределенный файл. Скрипт по ссылке довольно просто, как только у вас есть элементарный код для расширения.

Краткое описание:

  • создание отчетов в формате XLS или HTML
  • преобразуйте их
  • несмотря на то, что это ООО, он работает на безголовых машинах

РЕДАКТИРОВАТЬ 9 июня 2009 Я пытался реализовать онлайн-конвертер таким образом. Вы должны заставить PHP работать под тем же пользователем, под которым вы создавали макросы. Этот пользователь, по-видимому, не может быть www-данными. Я пытался использовать suphp, но по какой-то причине это не изменило пользователь правильно (posix_getuid() продолжал возвращать 33, что является www-данными). Я отредактирую это, как только исправлю это.

РЕДАКТИРОВАТЬ 26 июня 2009 Думаю, мне потребовалось некоторое время, чтобы отчитаться. Да, это работает с suphp. Однако я не в состоянии показать это вживую, так как на единственном сервере, который у меня есть, работает относительно важное веб-приложение, в котором не было профессионального аудита безопасности. Это означает, что одна из вещей, от которой мы зависим в защите серверной части, заключается в том, что пользователь, под которым работает интерфейс, является очень и очень непривилегированным пользователь (например, www-данные). Не спрашивайте:-)

Надеюсь, это кому-то поможет: да, преобразование в PDF с помощью OO.o вполне реально. В OO.o даже есть поддержка удаленных вызовов, но я изучал это не только для целей написания этого.

 7
Author: Ivan Vučica, 2010-12-02 19:18:49

Я использовал eclpse в php: "Проект BIRT"

Http://www.eclipse.org/birt/phoenix/

Вы разрабатываете свой отчет в Eclipse. Затем загрузите его на свой сервер (на нем должен быть запущен tomcat) Я знаю. Затем вы можете вызвать этот отчет из своего php-приложения . Вы можете отправить параметры в отчет через строку запроса:

/мой отчет.birt?param=var&param2=var2

У нас есть 4-летнее приложение, работающее таким образом до сих пор. Около 100 отчетов и это работает действительно хорошо.

Конечно, это открытый исходный код.

Удачи

 6
Author: elviejo79, 2009-06-07 03:47:35

Если у вас есть доступ к серверу, вы также можете использовать Объекты форматирования XSL через Apache FOP. XSL-FO основан на XML и поддерживает множество выходных форматов, включая PostScript и PDF

 5
Author: Martijn Laarman, 2009-04-14 12:12:59

Если вам удастся вызвать Java-приложение в вашей php-среде (что в целом должно быть возможно) JasperReports возможно, то, что вы ищете:

 4
Author: Ansgar, 2009-05-09 15:09:15

Репортаж

На мой взгляд, это один из лучших, подробных и многофункциональных PHP-дизайнеров отчетов.

 4
Author: Moamen Mostafa, 2017-07-18 22:00:51

Хм.. у меня была такая же проблема в моем текущем проекте, и я закончил тем, что использовал crystal reports и вызвал отчет с asp.net веб-сервис, написанный на c#. веб-сервис не представляет собой ничего сложного, и вы все равно можете использовать все функции crystal reports. я не думаю, что вы найдете какой-либо механизм отчетов, полностью основанный на php, который можно было бы сравнить с crystal reports... я еще не смог его найти...

 1
Author: SvenFinke, 2009-04-14 12:03:16

Я столкнулся с такой же проблемой около года назад. После тщательного поиска существующего решения я его не нашел, поэтому написал уменьшенные отчеты crystal с использованием библиотеки генерации PDF Zend Framework. Мне пришлось сильно адаптировать их библиотеку для поддержки сгруппированных объектов, повторяющихся разделов и шаблонов. Это сработало, но это было действительно неуклюже, и если бы мне пришлось сделать это снова, я бы нашел способ связать php с crystal reports либо через веб-сервис, как сказал Гушикен, либо с помощью вызов приложения командной строки. CPAN имеет интерфейс Perl для C.R.:Win32::OLE::Crystalruntime::Приложение .

Если решение PHP было выпущено в прошлом году, я сомневаюсь, что оно достаточно зрелое, чтобы сравниться с C.R. Не тратьте время на то, чтобы рвать на себе волосы - выбирайте то, что работает. Время дорого стоит. Программное обеспечение - нет.

 1
Author: Kyle Simek, 2009-05-08 17:57:41

Подходящим инструментом для этой цели является XSL-FO, так как он идеально подходит для печатных носителей. XSL-FO также является рекомендацией W3C с XSLT. Я создал php-инструмент, который использует XSL-FO в качестве промежуточного языка для создания отчетов, этот XLS-FO является результатом объединения (обработки) шаблона XSLT отчета с вашими XML-данными.

Шаблон создается автоматически с помощью MS Word и экспортируется, как показано в руководстве пользователя. Затем вы загружаете механизм отчетов с шаблоном, а во время выполнения с XML-данные.

Также во время выполнения результирующий отчет XSL-FO отображается в:

A) тот же XSL-FO (если вы хотите отлаживать или просто хотите XSL-FO)

Б) Идеальный PDF, (apachefop отображает XSL-FO)

C) HTML с преобразованием XSLFO2HTML.

Вот у вас есть проект, его плагин symfony 1.4: https://github.com/juanmf/sfPlugins/tree/master/reportPlugin

Я планирую отделить его от sf. Не стесняйтесь спрашивать о чем угодно. Вот Как: https://github.com/juanmf/sfPlugins/blob/master/reportPlugin/doc/HowToReport.pdf?raw=true

Этот пост также может оказать вам некоторую помощь: https://stackoverflow.com/questions/5519024/report-engine-solution-for-lamp-application/13042656

С уважением!

 1
Author: juanmf, 2017-05-23 12:34:04

Попробуйте Туфат

Я просто случайно вижу, что... может быть, это вам поможет. Однако для вас доступна бесплатная версия для тестирования.

Вам это понравится.. Пожалуйста, поделитесь своей копией.

 0
Author: Ratheesh R, 2010-03-23 06:07:55

Я использовал phpreports, и я должен признать, что это неплохо для веб-отчетов, поскольку он поддерживает верхние и нижние колонтитулы, группы, промежуточные итоги и т.д.

 0
Author: blestab, 2011-05-01 15:21:49

Взгляните на siwapp.org , это приложение для выставления счетов с открытым исходным кодом, основанное на платформе Symphony, оно находится в ранней бета-версии, но очень перспективно.

 -1
Author: Nazariy, 2009-06-05 19:33:54