2009-04-14 5 views
31

나는 PHP에서 작동하며 크리스탈 리포트와 비슷한 것을 찾고 있습니다. 기본적으로 데이터를 삽입하여 송장을 출력하고 프린터로 보낼 수 있다는 것을 의미하는 레이아웃 설정이 기본적으로 필요합니다.Crystal Reports for PHP와 비슷한 기능이 있습니까?

내가 지금까지 발견 한 가장 가까운 것이 PDFB이지만 정확한 위치 지정이 필요하기 때문에 약간의 고통입니다.

내가 (포스트 스크립트 좋을 텐데!)

그것은 필요 우리가 인쇄하기 쉬운 형태로 템플릿 (기반 바람직 XML)을 기반으로 송장을 생성 할 수있는 뭔가하고 출력을 가지고 싶습니다

(다음은 GD 이미지로 생성 할 수 있지만) 너무

또 다른 요구 사항을 바코드에 대한 지원을하는 것은 내가 내 현재 프로젝트에서 같은 문제를했고 내가 사용하는 결국 ..이 FLOSS

+11

거대한 서버 팜이 필요하고 원시 스파게티의 디자인이 취약한 고가 소프트웨어를 원하십니까? : D –

+0

죄송합니다, 언급하는 것을 잊어 버렸습니다. 나는 그것을 원했어. FLOSS – Mez

답변

12

를 사용하여 XML + XSL을 포함 output formats 많이 지원 FO Apache FOPPHP-JavaBridge를 통해입니다. http://wiki.apache.org/xmlgraphics-fop/HowTo/PHPJavaBridge

포스트 스크립트가 좋은 것 : 여기

방법입니다!

많은 포스트 스크립트 프린터는 PDF도 인식합니다.

+0

포스트 스크립트 프린터가 PDF를 이해하지 못한다면'gs (1)'과 도우미 응용 프로그램'pdf2ps (1)'을 살펴보십시오. – gnud

1

흠해야한다는 것입니다 크리스탈 리포트 및 C#으로 작성된 asp.net 웹 서비스로 보고서를 호출. 웹 서비스는 복잡하지 않으며 여전히 Crystal Reports의 모든 기능을 사용할 수 있습니다. 필자는 Crystal 보고서와 비교할 수있는 PHP 기반의 보고서 엔진을 발견 할 것이라고 생각하지 않습니다. 아직 찾을 수 없었습니다 ...

5

서버 액세스 권한이있는 경우 XSL Formatting Objects에서 Apache FOP으로 가고 싶습니다. XSL-FO는 XML 기반 및 포스트 스크립트와 PDF

+0

내 대답이 왜 실패했는지 듣고 싶다. –

1

약 1 년 전에 같은 문제가 발생했습니다. 기존 해결책을 찾은 후에 Zend Framework의 PDF 생성 라이브러리를 사용하여 슬림화 된 Crystal 보고서를 작성했습니다. 그룹화 된 객체, 반복되는 섹션 및 템플릿을 지원하기 위해 라이브러리를 많이 개조해야했습니다. 그것은 효과가 있었지만, 정말 까다 롭습니다. 그리고 다시해야만한다면, Gushiken이 말한 것처럼 웹 서비스 나 명령 행 응용 프로그램을 호출하여 PHP 보고서를 작성하는 방법을 발견하게 될 것입니다. CPAN에는 C.R .: Win32::OLE::CrystalRuntime::Application에 대한 Perl 인터페이스가 있습니다.

PHP 솔루션이 지난 해에 출시 된 경우, 나는 C.R.와 비교할만큼 성숙한 것으로 의심됩니다. 머리를 꺼내는 데 시간을 낭비하지 마십시오. 시간은 비쌉니다. 소프트웨어가 아닙니다.

4

당신이 당신의 PHP-환경에서 Java 응용 프로그램을 호출 관리하는 경우 (일반적으로 가능해야한다) JasperReports 어쩌면 당신이 찾고있는 것 : 나는 PHP에서 Spreadsheet_Excel_Writer을 사용했습니다, 그리고 그것은 충분히 좋은

+0

다른 장소에서 Jasper를 사용하는 것처럼 지금 사용하고있는 것입니다. – Mez

7

. WYSIWYG가 아니지만 XSL 파일을 생성하므로 만족 스럽습니다. 나중에 use OpenOffice macro을 사용하여 문서를 PDF로 변환 할 수 있습니다. 명령 줄에서 작동합니다. PHP 스크립트에서도 작동합니다.

여기 또는 더 좋은 방법이 있습니다.

Smarty 템플릿을 변환하려면 OpenOffice를 사용하십시오. Smarty는 PHP를위한 멋진 템플릿 엔진이며,이 목적을 위해 추천합니다. 그런 다음 Smarty로 PHP를 사용하여 순수 HTML을 생성하십시오. 마지막으로, 생성 된 HTML을 앞에서 설명한 방법으로 PDF로 변환하십시오.

보고 혁명 (tm).

EDIT Jun6 2009 Modded down? 아, 걱정 마라.

어쨌든이 방법은 X11을 실행하지 않고 헤드리스 서버에서 작동합니다. 나는 mentioned link ("DannysLibrary"대신에 "Standard"대신에 "Standard"콜렉션에 넣었습니다.)에서 스크립트를 가져 와서 PuTTY를 사용하는 Windows 컴퓨터에서이 명령을 실행했고 X는 원격 시스템에서 종료되었습니다. DISPLAY 변수가 설정되지 않았고 ... 어쨌든, OOo가 연결할 X11을 찾을 수있는 방법이 없습니다.

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

이 작동하고 나는이 HTML에서 인쇄 가능한 보고서의 생산을 포함하여, PDF로 다른 형식에서 변환을해야 할 것입니다 누군가를 위해 큰 일을 할 확신합니다. 매크로를 편집하면 아마도 오픈 오피스가 stdin이나 임시 서비스 URL에서 직접 읽어 와서 미리 정의 된 파일로 출력 할 수도 있습니다. link에있는 스크립트는 확장 할 기본 코드가 있으면 매우 간단합니다.

요약

:

  • 그들에게 그것을 오피스 비록
  • 변환 XLS 또는 HTML로 보고서를 생성, 그것은 머리가없는 기계

편집 2009년 6월 9일 I에서 작동 이 방법으로 온라인 변환기를 구현하려했습니다. 매크로를 작성한 사용자와 동일한 사용자로 PHP를 실행해야합니다. 이 사용자는 분명히 www 데이터가 될 수 없습니다. 나는 suphp를 사용하려고 시도했으나, 어떤 이유로 사용자를 적절하게 변경시키지 못했다 (posix_getuid()는 www- 데이터 인 33을 반환했다.). 이 문제를 해결하면 수정 해 드리겠습니다.

EDIT Jun 26 2009 다시 신고하는 데 다소 시간이 걸렸습니다. 예, 이것은 suphp와 작동합니다. 그러나 나는 살아있는 것을 보여줄 수있는 위치에 있지 않습니다. 왜냐하면 전문적인 보안 감사를받지 않은 상대적으로 중요한 웹 앱을 운영하는 유일한 서버가 있기 때문입니다. 이것은 우리가 백엔드를 보호하기 위해 의존하는 것 중 하나는 프론트 엔드가 실행되는 사용자가 아주 권한이없는 사용자 (예 : www- 데이터)라는 것입니다. Do not ask :-)

누군가에게 도움이 되었기를 바랍니다. 예, OO.o로 PDF로 변환하는 것은 매우 현실적입니다. OO.o에는 원격 호출 지원이 있습니다. 그러나 이것을 작성하기위한 목적으로는 공부하지 않았습니다.

+2

이것은 gui-less 서버에서 자동화되어야합니다. 이것은 실제로 적절한 해결책이 아닙니다. – Mez

+0

잘못되었습니다. 헤드리스 서버에서 작동합니다. 내 의견에 정확한 명령을 추가했습니다. –

-1

siwapp.org을 보시고, Symphony Framework를 기반으로하는 opensource 인보이스 발행 응용 프로그램입니다. 초기 베타 버전이지만 매우 유망한 제품입니다. 내가 PHP에서 eclpse을 사용했다

6

: "BIRT 프로젝트"

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

당신은 이클립스에서 보고서를 디자인합니다. 그런 다음 서버에 업로드하십시오 (바람둥이를 실행해야합니다).

/myreport.birt?param=var & PARAM2 = VAR2

우리는 4 년이 : 그럼 당신은 쿼리 문자열을 통해 보고서에 매개 변수를 보낼 수있는 PHP 애플리케이션 에서 해당 보고서를 호출 할 수 있습니다 응용 프로그램이 지금까지 이와 같이 작동합니다. 약 100 개의 보고서가 있으며 실제로 작동합니다.

물론 오픈 소스입니다.

행운

+0

BIRT가가는 길에 동의합니다. WebSphere sMash를 사용하여 BIRT를 PHP와 통합하는 방법을 보여주는이 developerWorks 기사를 참조하십시오. http://www.ibm.com/developerworks/websphere/techjournal/0903_phillips – rewbs

+0

BIRT! – FastTrack

0

Tufat

난 그냥 그게 도움이 될 수 ..may 볼 일이보십시오. 그러나 테스트 할 수있는 무료 버전이 있습니다.

당신이 좋아할 것입니다 .. 복사본을 공유하십시오.

0

내가 phpreports를 사용하고, 나는 머리글, 바닥 글, 그룹, 합계에 대한 지원이 있기 때문에 웹 기반보고 나쁘지 않다 인정해야 등

1

이러한 요구에 적합한 도구는 XSL-FO 인쇄 가능한 매체에 적합합니다. XSL-FO는 XSLT와 함께 W3C 권장 사항이기도합니다. 보고 용 중간 언어로 XSL-FO를 사용하는 PHP 도구를 만들었습니다.이 XLS-FO는 보고서 XSLT 템플릿을 XML 데이터와 병합 (처리) 한 결과입니다.

MS Word를 사용하여 자동으로 템플릿을 만들고 사용자 설명서에 표시된대로 내보내십시오. 그런 다음 보고서 엔진에 템플릿을 제공하고 런타임에 XML 데이터를 제공합니다.

A) 같은 XSL-FO (디버깅 아니면 그냥 XSL-FO)

B를 원하는하려는 경우) A :

또한

런타임은, 결과 XSL-FO 보고서에 렌더링 완벽한 PDF, (ApacheFOP는 XSL-FO를 렌더링합니다.)

c) XSLFO2HTML 변형이있는 HTML. 나는 SF에서 그것을 분리 할 계획 https://github.com/juanmf/sfPlugins/tree/master/reportPlugin

: 여기

당신은 프로젝트의 심포니 1.4 플러그인을 가지고있다. 주저하지 말고 무엇이든 요청하십시오. 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

감사합니다 여기 하우투입니다! 제 생각에는

4

Reportico

는 세부 최고 중 하나이며, 풍부한 PHP 보고서 디자이너 기능이 있습니다.