Retour automatique à la ligne dans le PDF généré (à l'aide de jsPDF)?
ce que je fais, c'est à l'aide de jsPDF pour créer un fichier PDF de la graphique, j'ai généré. Cependant, je ne suis pas sûr de la façon d'envelopper le titre (ajouté à l'aide du texte (en) fonction). La longueur du titre varient d'un graphique pour graphique. Actuellement, mes titres sont en cours d'exécution hors de la page. Toute aide serait appréciée!
C'est le code que j'ai pour l'instant:
var doc = new jsPDF();
doc.setFontSize(18);
doc.text(15, 15, reportTitle);
doc.addImage(outputURL, 'JPEG', 15, 40, 180, 100);
doc.save(reportTitle);
Rien à garder le reportTitle de déborder de la page
- Bienvenue DONC! Vous devez développer vos question un peu - nous montrer ce que vous avez essayé, ce que votre résultat attendu est, et ce que vous êtes réellement.
- J'ai ajouté le bout de code que j'utilise pour créer le document. Et comme je l'ai dit, parfois la reportTitle est trop long et coule sur le côté droit de la PDF. Au lieu de cela, je veux le faire envelopper d'une certaine manière.
Vous devez vous connecter pour publier un commentaire.
Bon j'ai réglé ce problème. J'ai utilisé le jsPDF fonction, splitTextToSize(texte, maxlen, options). Cette fonction retourne un tableau de chaînes de caractères. Heureusement, la jsPDF texte() de la fonction, qui est utilisé pour écrire le document, qui accepte à la fois les chaînes et les tableaux de chaînes de caractères.
Auto-pagination et de l'habillage de texte question dans JSPDF peut obtenir avec le code suivant
Si vous avez besoin d'ajouter dynamiquement de nouvelles lignes de vous voulez accéder au tableau retourné par le doc.splitTextToSize puis ajouter plus d'espace vertical que vous allez à travers chaque ligne:
y+10 > pageHeight
et nedoc.addPage()
, puis réinitialisery = 10
, de sorte qu'il peut continuer de texte sur une nouvelle pageDe travail de la fonction d'assistance
Ici est un ensemble de fonction d'assistance sur la base des réponses par @KB1788 et @user3749946:
Il comprend wrap ligne, page envelopper, et certains style de contrôle:
(Gist disponible ici)
Utilisation
Lorsque nous utilisons saut de ligne dans jsPDF nous obtenons un message d'erreur indiquant b.le match n'est pas défini, pour résoudre cette erreur juste unminify le js et le remplacer b.match avec de Chaîne(b).match et u obtiendrez cette erreur deux fois il suffit de remplacer les deux et ensuite, on se c.split n'est pas défini, il suffit de faire la même chose dans ce cas la remplacer par de Chaîne(c).match et nous avons fini. Maintenant, vous pouvez voir les sauts de ligne dans vous pdf. Merci