2017-02-22 9 views
0

Я использую jsPdf плагин и сделал этоКак преобразовать и загрузить диаграмму в pdf?

var data = google.visualization.arrayToDataTable(dataValues,true); 
     var chart = new google.visualization.CandlestickChart(document.getElementById(id)); 
     google.visualization.events.addListener(chart, 'ready', function() { 
      var content = '<img src="' + chart.getImageURI() + '">'; 
      $('#graph-images').append(content); 
     }); 

function generatePDF() { 
     var imageTags = $('#graph-images img'); 
     var doc = new jsPDF(); 
     doc.setFontSize(33); 
     doc.setFillColor(135, 124,45,0); 
     doc.addImage(imageTags[0], 'png', 10, 10, 150, 100); 
     doc.save('sample.pdf'); 
    } 

с помощью этого я могу загрузить файл в формате PDF, а открытый, что PDF-файл в читателе самана своих словами 110 ошибку.

Может ли кто-нибудь помочь в этом, спасибо.

ответ

0

Вы должны передать изображение URI в addImage():

google.charts.setOnLoadCallback(function() { 
    var data = google.visualization.arrayToDataTable(dataValues, true) 
    var chart = new google.visualization.CandlestickChart(document.getElementById(id)) 
    chart.draw(data) 
    imgData = chart.getImageURI() 
}) 

function generatePDF() { 
    var doc = new jsPDF(); 
    doc.setFontSize(33); 
    doc.setFillColor(135, 124,45,0); 
    doc.addImage(imgData, 'png', 10, 10, 150, 100); 
    doc.save('sample.pdf'); 
} 

Пожалуйста, проверьте это демо для более подробной информации https://jsfiddle.net/p1frmxvp/1/

UPDATE

Оказывается, ошибка происходит только тогда, когда мы используем jspdf 1.3.2 и откройте pdf, используя Adobe Reader, как описано here. Единственное решение до сих пор - либо открыть pdf, используя другой просмотрщик (Chrome, Foxit Reader .etc), либо понизить jspdf до 1.2.61. Я обновил jsfiddle выше, чтобы использовать пониженный jspdf.

+0

при открытии загруженного файла в Adobe Reader это говорит об ошибке. Ошибка обработки страницы. возникла проблема с чтением этого документа (110)? Можете ли вы помочь мне в этом? –

+0

Вы говорите, что у вас возникла ошибка при открытии pdf-файла, созданного в скрипте https://jsfiddle.net/p1frmxvp/? Если да, то проблема в вашем читателе Adobe. Я могу открыть PDF без каких-либо проблем. –

+0

ОК, спасибо, я собираюсь загрузить последнюю версию Adobe Reader, а затем попробую. Спасибо. –