2010-12-02 25 views

Répondre

3

Entre Rich Text Format (.rtf) et pdf, je vous conseille vivement de se pencher vers RTF.

Raison: c'est modifiable. Il suffit de l'ouvrir dans MS Word (ou de nombreux autres éditeurs) et votre client peut ajouter des en-têtes, des pieds de page, souligner certaines données, facilement copier dans un document plus long etc

Je génère des rapports "verbeux" pour mon clients dans RTF et ils pensent que c'est génial.

Le fichier PDF est conçu pour être imprimé. Période. Donc, bien qu'il soit possible de reformuler un document PDF, il sera toujours plus facile de le faire à partir d'un document RTF.

Il existe des bibliothèques PHP available. Ou vous pouvez le générer à partir de zéro vous-même. Example et example.

En plus du logiciel, je recommande le guide par Sean Burke.

+1

Je vois, merci pour le lien, c'était vraiment ce dont j'avais besoin. Et merci pour le conseil, je vais rester avec RTF comme vous l'avez mentionné. –

+0

J'essaie d'utiliser l'édition de base du lien que vous m'avez donné http://www.smartsystems.ro/rtfgen (celui de la bibliothèque php) et apparemment le guide de l'utilisateur est cassé. Il télécharge mais les fichiers d'aide ne sont pas correctement liés et je ne peux pas obtenir les instructions sur la façon de l'utiliser. Y a-t-il d'autres ressources que je pourrais utiliser? –

+0

ne importe pas, je viens de télécharger et d'utiliser le manuel pour l'édition payante. –

2

Je sais que c'est une réponse, mais j'ai récemment rencontré ce problème et il y a quelques questions à ce sujet mais pas de réponses qui n'impliquent pas de librairies tierces ou d'autres logiciels - voici ma solution.

Créez simplement un modèle de document RTF à l'aide d'un éditeur de texte tel que MS Word ou Notepad ou TextEdit sur Mac, et utilisez la fonction str_replace() de PHP pour déposer le contenu de votre choix.

Exemple:

//load the rtf template as a string 
$rtf = file_get_contents('mytemplate.rtf'); 

//replace placeholder text with content from database 
$rtf = str_replace('content', 'here is my rtf content!', $rtf); 

//and now serve the file as an rtf download: 
Header("Content-type: application/rtf"); 
Header("Content-Disposition: attachment;filename=rtf.rtf"); 
echo $rtf; 
exit(); 

Je ne sais pas si le même genre de technique pourrait être utilisée pour les fichiers PDF, mais cela m'a sauvé beaucoup de maux de tête dans le passé, surtout en essayant d'utiliser PHP assez mal documenté/Classes de convertisseur RTF ou en regardant des solutions qui impliquent pouvoir installer le logiciel sur un serveur ou exécuter une commande du shell.

J'ai déjà utilisé PHPRTFLite auparavant, mais je l'ai trouvé beaucoup trop complexe pour effectuer des tâches simples et trop vaguement documenté pour être d'une grande aide.