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

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

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

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

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

Другое требование – это FLOSS

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

Вот как это делается: http://wiki.apache.org/xmlgraphics-fop/HowTo/PHPJavaBridge

PostScript был бы хорош!

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

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

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

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

Отчетность Revolutionized ™.

EDIT Jun6 2009 Модифицировано? Ах, неважно.

В любом случае этот метод работает на безголовом сервере без запуска X11. Я взял сценарий из упомянутой ссылки (за исключением того, что я помещал ее в ранее существовавшую коллекцию «Стандарт» вместо «DannysLibrary»), а затем я запускал эту команду с Windows-машины с помощью PuTTY, а X был отключен на удаленной машине, и переменная DISPLAY не была установлена, и … ну, в любом случае, OOo не может найти X11 для подключения.

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

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

Резюме:

  • создавать отчеты как XLS или HTML
  • конвертировать их
  • хотя это OOo, он работает на безголовых машинах

EDIT 9 июня 2009 г. Я попытался реализовать онлайн-конвертер таким образом. Вы должны заставить PHP работать под тем же пользователем, под которым вы создали макросы. Этот пользователь, по-видимому, не может быть www-данными. Я попытался использовать suphp, но по какой-то причине он не изменил пользователя правильно ( posix_getuid() продолжал возвращать 33, что является www-данными). Я отредактирую это, как только я это исправлю.

EDIT 26 июня 2009 г. Думаю, мне потребовалось некоторое время, чтобы отчитаться. Да, это работает с suphp. Я, однако, не в состоянии показать это в прямом эфире, поскольку единственный сервер, на котором я работаю, имеет относительно важное веб-приложение, которое не имеет профессионального аудита безопасности. Это означает, что одна из вещей, на которую мы полагаемся на защиту бэкэнд, – это то, что пользователь, под которым работает интерфейс, является очень непривилегированным пользователем (например, www-data). Не спрашивайте 🙂

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

Я использовал eclpse в php: «BIRT Project»

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

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

/myreport.birt?param=var&param2=var2

На данный момент у нас есть 4-летнее приложение. Около 100 докладов и работает очень хорошо.

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

Удачи

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

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

Reportico

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

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

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

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

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

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

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

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

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

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

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

Я планирую отделить его от sf. Не стесняйтесь спрашивать что-нибудь. Вот HowTo: 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

С уважением!

Попробуйте Tufat

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

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

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

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