2016-10-26 3 views
-1

Dans une application rails 4, comment convertir un fichier Excel en format PDF.Conversion d'Excel en pdf dans rails4 avec libreoffice

Lorsque j'essaie d'implémenter Excel en pdf, le contenu est listé dans des pages différentes si la taille de la colonne excel est grande.

Comment générer le pdf sans déplacer les données vers les pages suivantes en pdf.

S'il vous plaît aider, Merci

Répondre

0

Vous avez deux options que vous pouvez mettre en œuvre vous-même et d'utiliser un petit bijou CSV/bibliothèque (default CSV, faster CSV ou smarter CSV) en supposant que par « Excel » un fichier CSV est acceptable . Si un fichier CSV n'est pas accepté, vous pouvez utiliser le axlsx gem à la place. Ensuite, pour la conversion PDF, vous pouvez utiliser quelque chose comme prawn. Si vous décidez de construire vous-même, suivez ces étapes.

  1. Créer un contrôleur qui gère les rapports, je suggère d'utiliser le générateur rails g controller report upload generate_table show generate_pdf pour créer un contrôleur et une vue pour le processus de téléchargement
  2. Créer un formulaire de téléchargement de fichier dans la vue du téléchargement.
  3. Lorsque vous soumettez, vous envoyez le fichier au processus de génération de l'action avec l'un des gemmes CSV ou Excel
  4. Une fois traité, votre produit final doit être un tableau ou un hachage (en tant que variable d'instance) et vous pouvez l'envoyer au show action
  5. Dans la vue d'affichage, vous allez itérer de ce hachage/tableau et encapsuler le contenu dans une table html.
  6. Sur la vue d'affichage, vous devriez avoir un bouton qui envoie ce même hachage/tableau à l'action contrôleur generate_pdf où vous utiliserez prawn pour créer un pdf, vous pouvez utiliser quelque chose comme send_data pour envoyer le fichier pdf complété à l'utilisateur.

C'est à peu près comment vous pouvez y remédier moins les détails de bas niveau. Maintenant, si vous voulez utiliser une solution prête à l'emploi, vous pouvez utiliser quelque chose comme Ruport. Ruport s'occupera de la plupart des tâches lourdes pour vous. La seule chose est que vous ayez besoin que vos modèles et vos associations soient configurés pour l'utiliser tel qu'il a été conçu, et ce n'est peut-être pas une option pour vous.