2016-11-03 8 views
0

Я работаю на следующем примере: http://jsfiddle.net/p4s5k59s/1222/преобразования SVG в PDF возвращающегося пустой PDF-файл

Попытка преобразовать plotly.js SVG элемент в PDF Image/файла.

функции контроллера:

$scope.savePdf = function(){ 
    html2canvas($("#graphRender"), { 
     onrendered: function(canvas) { 
     console.log(canvas);  
      var imgData = canvas.toDataURL(
       'image/png');    
      var doc = new jsPDF('p', 'mm'); 
      doc.addImage(imgData, 'PNG', 1000, 1000); 
      doc.save('sample-file.pdf'); 
     } 
    }); 
    } 

HTML: enter image description here

ответ

0

Вы используете jsPDF и html2canvas только иметь четкое представление о библиотеках. jsPDF имеет хотя и очень плохую документацию, поэтому я вижу, откуда это происходит. Важно здесь метод является метод

.addImage()

Который имеет синтаксис вроде этого:

addImage (imgData, 'PNG', 0, положение, imgWidth, imgHeight);

Попробуйте немного поиграть с кодом, чтобы получить правильное положение, а затем отрегулируйте ширину и высоту, которые вы хотите иметь в формате PDF. Вы даже можете попробовать его на plunker вы при условии, просто заменить метод с этим, чтобы получить другой вывод:

doc.addImage (imgData, 'PNG', 0, 10, 200, 300);

Тогда я думаю, вы увидите точку и заставьте ее работать.

+0

Благодарим вас за ответ. Дело в том, что если я нацеливаю div на 'id =" graphRender "или элемент svg, результирующее изображение просто белое/пустое. Если вместо этого я нацелен на весь «document.body», чем все появляется за исключением svg/plot –

Смежные вопросы