web-dev-qa-db-fra.com

Garder CSS en HTML pour PDF exporter en Javascript

J'essaie de générer PDF à l'aide de JavaScript, mais je ne parviens pas à générer de code CSS. J'utilise actuellement jsPDF . Le problème avec jsPDF est que cela enlève toute la mise en forme. Je n'ai pas besoin de styles ni de couleurs, mais il me faut plusieurs divs côte à côte. 

Mon code est

                    margins = {
                        top: 0,
                        bottom: 0,
                        left: 20,
                        width: 170
                    };                       
                    pdf.setFontSize(6);
                    pdf.fromHTML(
                        $('#textpdfdiv').html(), 
                        margins.left, 
                        margins.top, { 
                            'width': margins.width
                        },

                        function (dispose) {                                
                            pdf.save('Export_Text.pdf');
                        }, margins
                    );

textpdfdiv est un identifiant de div qui contient toutes les valeurs de forme dans un divs séparé et côte à côte. Mais lorsque je génère des PDF, ils vont dans une ligne séparée. 

Je ne peux pas utiliser XEPOnline car le traitement est en ligne. 

Comment ai-je besoin de PDF la sortie ressemble à ceci (moins les couleurs, les champs de formulaire, etc.)

 



Le résultat actuel est  

 

Existe-t-il un plugin convertissant HTML + CSS en PDF? Ou puis-je y parvenir avec jsPDF? Je n'ai pas de table, donc cette Question n'aide pas aussi.

EDIT: Je ne peux pas utiliser Html2Canvas également, car il crée de longs fichiers PDF non interrogeables et j’ai besoin de fichiers PDF interrogeables. Html2Canvas prend une capture d'écran et c'est une image mais j'ai besoin d'un texte qui peut être copié.

Je vous remercie,
Hamza

3
Hamza

J'ai utilisé ce plugin pour générer PDF avec HTML et CSS. Vous devez simplement inclure le contenu que vous souhaitez mettre au format PDF dans un "" avec un identifiant.

https://github.com/Xportability/css-to-pdf

5
Louise Godec

peut-être que je ne pourrais pas être d'une telle aide, mais cela semble être un bogue de cette bibliothèque: https://github.com/MrRio/jsPDF/issues/91

Dans cette page, vous trouverez une suggestion pour votre objectif: utiliser Html2Canvas.

0
misterwolf