jsPDF не экспортирует графику - PullRequest
1 голос
/ 04 октября 2019

Здравствуйте, я разрабатываю страницу в jsf + primefaces, которая мне нужна для создания отчета о некоторых графиках, которые отображаются на нем, я использую jsPDF, но не могу экспортировать график в pdf, он отображает только строку графика, но график на странице не экспортируется

<ui:define name="body" >
    <h:form acceptcharset="ISO-8859-1" lang="pt_BR" class="form-pesquisa">
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.min.js"></script>
         <script> 
         function gerarPDF() {
                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 = $('#gerarPdf')[0];
                alert(source);

                // 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: 40,
                    width: 522
                };
                // 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);
            }


        </script>
        <div id="gerarPdf">
        <div class="form-content">
        Grafico
            <div class="form-row">
                <div class="form-group col-xs-12" style="text-align:center;">
                    <p:lineChart model="#{relatorioIndividualController.lineModel}" style="width: 100%; height: 500px;"/>
                </div>
            </div>
        </div>
        </div>
        <h:commandButton value="PDF" id="btnPDF" onclick="gerarPDF();"/>
    </h:form>
</ui:define>

страница

Img Page

После экспорта

После экспорта

Есть идеи, почему граф не экспортируется? Нужно ли использовать какое-то другое свойство jsPDF?

...