Quelque chose comme des rapports Crystal pour PHP?

je cherche quelque chose qui fonctionne en PHP et qui ressemble à crystal reports. J'ai essentiellement besoin d'avoir une configuration de mise en page qui signifie que je peux produire des factures juste en insérant les données, puis les envoyer à une imprimante.

le plus proche que j'ai trouvé jusqu'à présent est PDFB, mais c'est un peu douloureux car il a besoin d'avoir un positionnement précis.

j'aimerais avoir quelque chose qui pourrait générer une facture basée sur un modèle (de préférence XML) et ensuite la sortie à un formulaire facile pour nous d'imprimer (PostScript serait bien!)

Il doit avoir le support des codes barres trop (bien que ceux-ci peuvent être générés comme une image GD)

une autre exigence est qu'il doit s'agir d'un fil dentaire

31
demandé sur Mez 2009-04-14 15:16:44

12 réponses

utiliser XML + XSL:FO avec Apache FOP via PHP-JavaBridge .

Voici comment: http://wiki.apache.org/xmlgraphics-fop/HowTo/PHPJavaBridge

PostScript serait sympa!

de nombreuses imprimantes PostScript comprennent aussi le PDF.

12
répondu vartec 2009-04-14 14:11:19

j'ai utilisé Spreadsheet_Excel_Writer en PHP, et c'est suffisant. Pas WYSIWYG, mais il génère des fichiers XSL, et je suis content. Ensuite, vous pouvez utiliser OpenOffice macro pour convertir le document en PDF. Il fonctionne à partir de la ligne de commande, donc, il fonctionne aussi à partir de scripts PHP.

ou Voici une meilleure façon.

utilisez OpenOffice pour convertir un modèle Smarty. Smarty est un moteur de templage cool pour PHP, je le recommande pour cette but. Puis générer du HTML pur en utilisant PHP avec Smarty. Enfin, il suffit de convertir le HTML généré en PDF en utilisant la méthode mentionnée ci-dessus.

de l'information a Révolutionné (tm).

EDIT Jun6 2009 Modded down? Ah, tant pis.

de toute façon, cette méthode fonctionne sur un serveur sans tête sans exécuter X11. J'ai pris le script du lien mentionné (sauf que je l'ai mis en préexistant collection "Standard" au lieu de" DannysLibrary") et puis j'ai exécuté cette commande depuis Windows machine en utilisant PuTTY, et X a été arrêté sur la machine distante, et la variable D'affichage n'a pas été réglée, et ... dans tous les cas, OOo n'a pas pu trouver X11 auquel se connecter.

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

cela fonctionne et je suis sûr que cela fonctionnerait très bien pour quiconque aurait besoin de conversion d'un autre format en PDF, y compris la production de rapports imprimables à partir de HTML. En éditant la macro vous pourrait, peut-être, même obtenir OOo pour lire directement à partir de stdin ou de votre URL de service temporaire, et la sortie dans le fichier prédéfini. Le script sur le lien est très simple une fois que vous avez le code élémentaire à développer.

résumé:

  • générer des rapports en format XLS ou HTML
  • convertissez-les
  • même S'il est OOo, il fonctionne sur des machines sans tête

MODIFIER le 9 Juin 2009 J'ai essayé d'implémenter un convertisseur en ligne de cette façon. Vous devez faire tourner PHP sous le même utilisateur sous lequel vous avez créé des macros. Cet utilisateur ne peut apparemment pas être www-data. J'ai essayé d'utiliser suphp, mais pour une raison quelconque, il n'a pas changé l'utilisateur correctement ( posix_getuid() a continué à retourner 33 qui est www-data). Je l'éditerai une fois que j'aurai réglé ça.

MODIFIER le 26 Juin 2009 Suppose qu'il m'a fallu un certain temps pour rapport arrière. Oui, ça marche avec suphp. Je ne suis cependant pas en mesure de le montrer en direct, puisque le seul serveur que j'ai exécute une application web relativement critique qui n'a pas eu l'audit de sécurité professionnelle. Cela signifie qu'une des choses dont nous dépendons pour protéger le backend est que l'utilisateur sous lequel frontend tourne est un utilisateur très peu privilégié (tel que www-data). Ne demandez pas :-)

Espérons que cela aide quelqu'un: oui, convertir en PDF avec OO.o est assez réaliste. Il y a même certains prise en charge à distance en OO.mais je n'ai pas étudié ça juste pour écrire ça.

7
répondu Ivan Vučica 2010-12-02 19:18:49

j'ai utilisé l'eclpse en php:" BIRT Project "

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

vous concevez votre rapport dans Eclipse. Ensuite, téléchargez-le sur votre serveur (il doit être en cours d'exécution tomcat) je sais. Alors vous pouvez appeler ce rapport depuis votre application php vous pouvez envoyer les paramètres au rapport à travers la chaîne de requête:

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

nous avoir une application de 4 ans fonctionne comme ceci jusqu'à présent. Une centaine de rapports et ça marche vraiment bien.

bien sûr, il est open source.

bonne chance

6
répondu elviejo79 2009-06-07 03:47:35

si vous avez accès au serveur, vous pouvez aussi choisir objets de formatage XSL par Apache FOP . XSL-FO est basé sur XML et prend en charge beaucoup de formats de sortie y compris PostScript et PDF

5
répondu Martijn Laarman 2009-04-14 12:12:59

si vous arrivez à appeler une application Java dans votre environnement php (ce qui en général devrait être possible) JasperReports peut-être la chose que vous cherchez:

4
répondu Ansgar 2009-05-09 15:09:15

Reportico

à mon avis est l'un des meilleurs, détaillé et la fonctionnalité riche Concepteur de rapport PHP.

4
répondu Moamen Mostafa 2017-07-18 22:00:51

hm.. j'ai eu le même problème à mon projet actuel et j'ai fini par utiliser crystal reports et appeler le rapport avec un asp.net service web écrit en c#. le service web n'est rien de complexe, et vous pouvez toujours utiliser toutes les fonctionnalités de crystal reports. Je ne pense pas que vous trouverez n'importe quel moteur de rapport qui est complètement basé sur php qui peut être comparé à des rapports crystal... je n'ai pas été en mesure d'en trouver un encore...

1
répondu SvenFinke 2009-04-14 12:03:16

j'ai rencontré le même problème il ya environ un an. Après avoir cherché partout une solution existante, je n'en ai pas trouvé, donc j'ai écrit des rapports cristallins en utilisant la bibliothèque de génération PDF de Zend Framework. J'ai dû adapter fortement leur bibliothèque pour supporter les objets groupés, en répétant les sections et les gabarits. Il a fonctionné, mais il était vraiment clunky, et si je devais le faire à nouveau, je trouverais un moyen de passer de php à crystal rapports, soit par un service web comme Gushiken dit, ou par j'appelle une application de ligne de commande. CPAN a une interface Perl vers C. R.: Win32:: OLE::CrystalRuntime:: Application .

si une solution PHP a été publiée au cours de la dernière année, je doute qu'elle soit assez mature pour être comparée à C. R. Ne perdez pas votre temps à vous arracher les cheveux -- allez avec ce qui fonctionne. Le temps est cher. Pas le logiciel.

1
répondu Kyle Simek 2009-05-08 17:57:41

le bon outil pour ce besoin est XSL-FO, car il est parfait pour les médias imprimables. XSL-FO est également une recommandation W3C, avec XSLT. J'ai fait un outil php qui utilise XSL-FO comme langue intermédiaire pour la déclaration, CE XLS-FO est le résultat de la fusion (traitement) le modèle de rapport XSLT avec vos données XML.

vous créez le modèle automatiquement en utilisant MS Word, et en exportant comme indiqué dans le manuel d'utilisation. Ensuite, vous alimentez le moteur de reportage avec le modèle, et à la course du temps avec les données XML.

également à l'exécution, le rapport XSL-FO qui en résulte est rendu à:

a) le même XSL-FO (si vous voulez déboguer ou tout simplement un XSL-FO)

b) Un PDF parfait, (ApacheFOP rend le XSL-FO)

c) HTML avec une transformation XSLFO2HTML.

voici le projet, c'est un plugin symfony 1.4: https://github.com/juanmf/sfPlugins/tree/master/reportPlugin

je prévois de le découpler de sf. N'hésitez pas à demander quoi que ce soit. Voici le HowTo: https://github.com/juanmf/sfPlugins/blob/master/reportPlugin/doc/HowToReport.pdf?raw=true

ce message pourrait également vous donner un peu d'aide: https://stackoverflow.com/questions/5519024/report-engine-solution-for-lamp-application/13042656

salutations!

1
répondu juanmf 2017-05-23 12:34:04

Try Tufat

je viens de le voir ..peut-être vous aider. Cependant il existe une version gratuite est disponible pour tester.

vous aimerez .. S'il vous plaît partagez votre copie.

0
répondu Ratheesh R 2010-03-23 06:07:55

j'ai utilisé phpreports , et je dois admettre qu'il n'est pas mauvais pour le web basés sur des rapports depuis il a un support pour les en-têtes, pieds de page, des groupes, des sous-totaux, etc.

0
répondu blestab 2011-05-01 15:21:49

regardez siwapp.org , il s'agit d'une application de facturation opensource basée sur le cadre Symphonique, il est en début de beta mais très prometteur.

-1
répondu Nazariy 2009-06-05 19:33:54