La génération de fichiers PDF avec Ionique cadre
Est-il un plugin pour Ionic framework pour générer un fichier pdf à l'aide d'un contenu html?
Essentiellement, j'ai besoin de créer une page html avec des valeurs transmises à partir d'un Ionique de l'application mobile et certains styles css, et puis le convertir en un fichier pdf qui peut être enregistré dans le système de fichiers local dans un appareil (appareil Android et iOS dispositif). Je veux le faire avec un script javascript comme la bibliothèque, de sorte qu'il peut être utilisé à la fois Android et iOS dispositifs.
OriginalL'auteur Sajith Dulanjaya | 2015-02-23
Vous devez vous connecter pour publier un commentaire.
Bon, c'est une réponse plus détaillée que fournit l'exemple que j'ai mentionné dans ma première réponse. J'ai un repo github:
et une ligne de github.io exemple:
Tout d'abord, j'ai créé un ReportBuilderSvc qui est utilisé pour générer le rapport réel de la déclaration dans le format JSON utilisé par pdfMake.org. Ce processus sera spécifiques à l'application, j'ai donc généré cela comme un service distinct. Vous pouvez voir mon exemple de code et jouer autour de w/votre propre définition du document sur la pdfMake.org site web. Une fois que vous avez une conception de rapport, placez votre propre définition du document JSON dans le _generateReport méthode.
Ensuite, j'ai emballé pdfMake.org bibliothèque en un gratuit angulaire de service, nommé ReportSvc. Cela demande du public generateReport() la méthode de la ReportBuilderSvc pour obtenir le reportDefinition JSON. Je me suis cassé le processus de génération du rapport en $q promesse gainé de méthodes internes pour permettre au service d'émettre des événements de progression que le client peut consommer pour la mise à jour de l'INTERFACE utilisateur. Sur les anciens lent, iPhone 4 dispositifs j'ai vu le rapport du processus autant que 30 à 45 secondes. Cette capacité de mise à jour de l'INTERFACE utilisateur est très important, sinon l'application dirait qu'il a gelé.
Le wrapper rompt le processus dans:
À chaque étape, le service transmet un événement sur l' $rootScope à l'aide de la fonction d'utilité:
Cela permet aux clients de "s'abonner" dans le contrôleur ou la consommation de code avec:
Et enfin, pour afficher le pdf, j'utilise une iframe et définir la src w/générée dataURI pour la démo en ligne dans le navigateur. Et, j'utilise le InAppBrowser et locales fichier créé lors de l'exécution sur le périphérique ou l'émulateur. J'ai l'intention de nettoyer un peu plus, de sorte qu'il peut être inclus en tant que bibliothèque et injecté dans angulaire de service. Cela permettra de laisser le client libre d'assister le rapport de la déclaration de w/un en toute sécurité enveloppé angulaire/ionique service.
Toutes les pensées sont appréciés comme je suis nouveau sur le nœud, angulaire, monde ionique et peut certainement utiliser l'aide aussi...
Merci. C'est ma première accepté de répondre, yay!
OriginalL'auteur Jeff L
Votre question a probablement besoin de plus de détails et cela peut ne pas être exactement ce que vous cherchez. Cependant, j'ai une Ioniques application qui rend les rapports pdf à l'aide de la pdfMake.org de la bibliothèque. C'est une syntaxe déclarative pour rendre vos documents, mais il utilise JSON au lieu de droites document HTML déclaration. J'ai été en mesure d'insérer des images, des tableaux, et même dessiner SVG diagrammes et des graphiques à barres. De toute façon, vous pouvez suivre leurs tutoriels et de construire une solution sympa dans un Ioniques app. J'ai mis en place un ensemble de enchaînés fonctions de construire le document de déclaration, rend le document, l'enregistre dans un fichier local/ou rend à InAppBrowser comme une codé en base 64 document.
Si vous êtes intéressé par cette démarche, je peux mettre ensemble une démo et de partager. Mais si elle doit être un droit de conversion HTML, vous aurez besoin de poursuivre une approche différente.
Oui. Il nécessite l'utilisation du Fichier de plugin cordova. Mon utilisation est: projet de pdf en mémoire, enregistrer le fichier, joindre un fichier à un courriel, envoyer des courriels. Je peux sortir le code et après un exemple plus tard aujourd'hui.
Mon exigence est également tout à fait semblables à ceci, en fait j'ai besoin de partager le fichier pdf généré par e-mail. Il est apprécié si vous pouvez partager des exemple avec moi. Merci beaucoup pour le partage de l'information.
Travaillé sur un échantillon que j'ai chargé sur github. Encore besoin de le nettoyer certaines choses et ajouter l'email de l'échantillon. Je vais poster une réponse distincte w/github lien dans les prochains jours
OriginalL'auteur Jeff L
Cet article de blog peut vous aider. Il montre comment créer un fichier PDF: http://gonehybrid.com/how-to-create-and-display-a-pdf-file-in-your-ionic-app/
Maintenant enregistrer le fichier (à l'aide de ng-cordoue) comme je l'ai commenté le post de suivre ces étapes:
Ce fichier est enregistré en tant que "exemple.pdf" dans votre répertoire de données
Il donne le succès sur writeFile API, mais lorsque vous l'ouvrez .fichier pdf il donne l'erreur "Format Invalide". savez-vous comment résoudre ce problème ?
OriginalL'auteur sohel101091