Вопрос

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

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

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

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

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

Это было полезно?

Решение

Используйте XML + XSL:FO с Апачский ПИЖОН через PHP-JavaBridge (PHP-JavaBridge).

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

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

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

Другие советы

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

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

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

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

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

В любом случае, этот метод работает на безголовом сервере без запуска X11.Я взял сценарий из упомянутая ссылка (за исключением того, что я поместил его в ранее существовавшую коллекцию "Standard" вместо "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
  • преобразуйте их
  • несмотря на то, что это ООО, это работает на безголовых машинах

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

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

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

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

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

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

/myreport.birt?параметр=var¶m2=var2

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

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

Удачи

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

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

Репортаж :

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

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

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

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

Подходящим инструментом для этой цели является 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-файл)

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

С уважением!

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top