Question

Je cherche quelque chose qui fonctionne en PHP et est similaire à des rapports de cristal. J'ai besoin essentiellement d'avoir une configuration de mise en page qui me permet de factures de sortie simplement en insérant les données, puis de l'envoyer à une imprimante.

Le plus proche que je l'ai trouvé à ce jour est PDFB, mais il est un peu pénible car il doit avoir un positionnement précis.

Je voudrais avoir quelque chose qui pourrait générer une facture basée sur un modèle (de préférence basé sur XML), puis la sortie à une forme facile pour nous d'imprimer (PostScript serait bien!)

Il a besoin d'avoir le soutien des codes à barres aussi (bien que ceux-ci peuvent être générés sous forme d'image GD)

Une autre exigence est que cela doit être FLOSS

Était-ce utile?

La solution

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

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

  

PostScript serait bien!

De nombreuses imprimantes PostScript comprennent PDF aussi.

Autres conseils

Je l'ai utilisé Spreadsheet_Excel_Writer en PHP, et il est assez bon. Non WYSIWYG, mais il génère des fichiers XSL, et je suis content. Ensuite, vous pouvez utiliser OpenOffice macro pour convertir le document en format PDF. Il fonctionne de la ligne de commande, ergo, il fonctionne à partir de scripts PHP aussi.

Ou voici une meilleure façon.

Utilisez OpenOffice pour convertir un template Smarty. Smarty est un moteur de templating cool pour PHP, je le recommande à cet effet. Ensuite, générer du HTML pur en utilisant PHP avec Smarty. Enfin, juste convertir le code HTML généré en PDF en utilisant la méthode ci-dessus.

Rapport Revolutionized (tm).

EDIT Jun6 2009 Modded vers le bas? Ah laisse tomber.

Quoi qu'il en soit, cette méthode fonctionne sur un serveur sans tête, sans courir X11. J'ai pris le script de la lien mentionné (sauf que je mets dans la collection pré-existante « standard » au lieu de « DannysLibrary »), puis je l'ai couru cette commande de la machine Windows en utilisant PuTTY, et X a été arrêté sur la machine distante et variable DISPLAY n'a pas été définie, et ... eh bien, en tous les cas, il n'y a aucun moyen OOo pourrait trouver X11 pour 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 tous ceux qui ont besoin de conversion d'avions un autre format en PDF, y compris la production de rapports imprimables de HTML. En éditant la macro que vous pourriez peut-être même obtenir OOo 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 est assez simple une fois que vous avez le code élémentaire à se développer.

Résumé:

  • générer des rapports comme XLS ou HTML
  • les convertir
  • même si elle est OOo, il fonctionne sur des machines sans tête

EDIT 9 juin 2009 J'ai essayé de mettre en œuvre un convertisseur en ligne de cette façon. Vous devriez faire courir 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() 33 revenait sans cesse ce qui est des données www-). Je vais modifier cette fois je résoudre ce problème.

EDIT 26 juin 2009 Je suppose qu'il m'a fallu un certain temps pour faire rapport. Oui, cela fonctionne avec suphp. Je ne suis toutefois pas en mesure de le montrer en direct, puisque le seul serveur je dirige une application web relativement critique qui n'a pas eu l'audit de sécurité professionnelle. Cela signifie une des choses dont nous dépendons pour protéger le back-end est que l'utilisateur sous lequel fonctionne frontend est un utilisateur très très non privilégié (comme www-data). Ne demandez pas: -)

Espérons que cela aide quelqu'un: oui, la conversion en PDF avec OO.o est tout à fait réaliste. Il y a même un soutien à distance en appelant OO.o mais je n'ai pas étudié que seulement à des fins de la rédaction du présent.

Je l'ai utilisé le eclpse en php: "Projet BIRT"

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

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

/myreport.birt?param=var¶m2=var2

Nous avons travailler comme cela jusqu'à présent une application de 4 ans. Autour de 100 rapports et il fonctionne très bien.

Bien sûr, il est open source.

Bonne chance

Si vous avez accès au serveur qui pourraient vous intéresser aussi aller XSL-FO par Apache FOP . XSL-FO est basé sur XML et supporte beaucoup de formats de sortie y compris PostScript et PDF

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

Reportico

À mon avis est l'un des meilleurs, détaillé et riche en fonctionnalités Report Designer PHP.

hm .. j'ai eu le même problème à mon projet en cours et je fini par utiliser des rapports de cristal et d'appeler le rapport avec un service Web asp.net écrit en C #. le service Web est rien à complexe et vous pouvez toujours utiliser toutes les fonctionnalités de rapports de cristal. Je ne pense pas que vous trouverez un moteur de rapport qui est entièrement basé sur php qui peut être comparé à des rapports de cristal ... Je nai pas été en mesure de trouver un encore ...

Je suis tombé sur le même problème il y a environ un an. Après avoir cherché partout une solution existante je ne trouve pas un, donc je l'ai écrit un rapport de cristal allégées en utilisant la bibliothèque de génération de PDF Zend Framework. Je devais adapter fortement leur bibliothèque pour soutenir des objets groupés, répéter des sections et des modèles. Cela a fonctionné, mais il était vraiment maladroit, et si je devais le faire à nouveau, je trouverais un moyen de combler php à des rapports de cristal, que ce soit par le biais d'un service Web comme l'a dit Gushiken, ou en appelant une application en ligne de commande. CPAN a une interface Perl à CR: Win32 :: OLE :: :: CrystalRuntime application .

Si une solution PHP a été libéré l'année dernière, je doute qu'il est assez mature pour comparer à C.R. Ne perdez pas votre temps tirer vos cheveux - aller avec ce qui fonctionne. Le temps est cher. Le logiciel est pas.

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

Vous créez le modèle automagiquement en utilisant MS Word et l'exportation comme indiqué dans le manuel utilisateur. Ensuite, vous nourrissez le moteur de rapports avec le modèle, et au moment de l'exécution avec le XML de données.

En outre lors de l'exécution, le rapport XSL-FO résultant est rendu à:

a) la 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 de XSLFO2HTML.

Ici vous avez le projet, son plugin symfony 1.4: https://github.com/juanmf/sfPlugins/tree/master/reportPlugin

Je prévois de découpler de sf. Ne pas hésiter à demander quoi que ce soit. Voici le HowTo: https://github.com/juanmf/ sfPlugins / blob / maître / reportPlugin / doc / HowToReport.pdf? raw = true

Ce poste peut aussi vous donner un peu d'aide: https://stackoverflow.com/questions/5519024/report-engine-solution- pour lampe-application / 13042656

Cordialement!

Tufat

Je viens d'arriver de voir que ..may être cela vous aidera. Cependant, il existe une version gratuite est disponible pour vous de tester.

Vous aimerez .. S'il vous plaît partager votre copie.

Je l'ai utilisé phpreports , et je dois avouer qu'il est pas mal pour les rapports sur le Web, car il a le soutien pour les en-têtes, pieds de page, des groupes, des sous-totaux, etc.

Jetez un oeil à siwapp.org , il est une application de facturation opensource basée sur le cadre Symphony, il est au début de la bêta, mais très prometteur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top