2016-03-17 1 views
2

est-il un moyen facile de convertir et vue en pdf de ma page html dans AngularJSAngularJS javascript - moyen facile de convertir page web html en pdf

exemple html:

<table class="table table-hover table-condensed table-bordered" style="font-size: 12px"> 

    <tr> 
     <th align="left">Qty</th> 
     <th align="left">Item</th> 
     <th align="center">Description</th> 
     <th align="center">Rate</th> 
     <th align="center">Amount</th> 
    </tr> 

    <tr ng-repeat="item in items" ng-class-odd="'odd'" ng-class-even="'even'"> 
     <td align="left">{{item.qtyToOrder}}</td> 
     <td align="left">{{item.ItemCode}}</td> 
     <td align="center">{{item.Desc}}</td> 
     <td align="center">{{item.price}}</td> 
     <td align="center">{{item.qtyToOrder * item.price}}</td> 

    </tr> 
</table> 
+0

Il n'y a pas de moyen vraiment facile. Vous pourriez vouloir créer une API avec peut-être des fantômes. –

+0

rien de facile avec jquery ?? –

Répondre

1

ce code jquery fonctionne réellement incroyable!

http://jsfiddle.net/NishitDhakar/ugD5L/

function demoFromHTML() { 
    var pdf = new jsPDF('p', 'pt', 'letter'); 
    // source can be HTML-formatted string, or a reference 
    // to an actual DOM element from which the text will be scraped. 
    source = $('#customers')[0]; 

    // we support special element handlers. Register them with jQuery-style 
    // ID selector for either ID or node name. ("#iAmID", "div", "span" etc.) 
    // There is no support for any other type of selectors 
    // (class, of compound) at this time. 
    specialElementHandlers = { 
     // element with id of "bypass" - jQuery style selector 
     '#bypassme': function (element, renderer) { 
      // true = "handled elsewhere, bypass text extraction" 
      return true 
     } 
    }; 
    margins = { 
     top: 80, 
     bottom: 60, 
     left: 10, 
     width: 700 
    }; 
    // all coords and widths are in jsPDF instance's declared units 
    // 'inches' in this case 
    pdf.fromHTML(
    source, // HTML string or DOM elem ref. 
    margins.left, // x coord 
    margins.top, { // y coord 
     'width': margins.width, // max width of content on PDF 
     'elementHandlers': specialElementHandlers 
    }, 

    function (dispose) { 
     // dispose: object with X, Y of the last line add to the PDF 
     //   this allow the insertion of new lines after html 
     pdf.save('Test.pdf'); 
    }, margins); 
} 

MISE À JOUR: Je vois en fait jspdf est limité. selectpdf a un paquet de nuget gratuit que vous pouvez installer et qui semble bien fonctionner, mais limité à 5 pages à la fois. donc si vous avez besoin de plus que cela, vous pouvez acheter l'api.

+1

cela fait seulement un excellent travail en exportant bien mes tables. quand j'intègre des images dans mes tableaux, il perd l'image. des idées comment poser une question à l'auteur ou comment casser le code pdfjs.js? –