2014-06-04 2 views
0

웹 페이지를 dataURL로 변환 한 다음 해당 dataURL을 PDF로 변환하는 용도의 응용 프로그램이 있습니다. dataURL 변환은 html2canvas를 통해 수행되며 PDF 변환은 JSPDF를 통해 수행됩니다.html2canvas를 사용하여 배경이 올바르게 작동하지 않음

JSPDF에는 JPEG가 필요하므로 dataURL을 jpeg로 변환합니다. JPEG는 투명 배경을 제대로 처리하지 못하는 것 같아서 저에게 아주 못생긴 검정색 배경 PDF를 남기고 있습니다. 나는이 문제에 대한 해결책을 찾아 보았지만 지금까지 한 일은 아무 것도 할 수 없다.

이론 상으로는 html2canvas 배경 속성을 #fff로 설정할 수 있어야하지만,이 색이나 다른 색에는 아무 것도 없다. 효과에 영향을줍니다. 아무도 내 내 dataURL 변환에 여전히 검은 색 배경이있는 다른 이유를 생각할 수 있습니까? 이상하게도 body 요소에 액세스 할 때 제대로 작동하지만 동일한 부분을 래핑하는 div 컨테이너에 액세스하면이 문제가 발생합니다.

다음은이 작업을 수행하는 데 사용하는 Jquery 함수입니다.

$(document).ready(function() { 
    $("#testButton").click(function() { 
     html2canvas($("#container"), { 
      allowTaint: false, 
      logging:true, 
      background:'#fff', 
      onrendered: function(canvas) { 
       var data = canvas.toDataURL('image/jpeg',1.0); 
       window.open(data); 
       var doc = new jsPDF(); 
       doc.addImage(data,'JPEG',15,40,200,200); 
       doc.output('save', 'testingtwo.pdf'); 
      }}); 
    }); 
}); 

배경이 검은 색으로 남아있는 이유를 아는 사람이 있습니까?

$("#container").css('background', '#fff')

참고하지만, jsPDF 및 완화 할 수 html2canvas 사이에서 래퍼로 활동 새로운 addHTML 플러그인이있다 :

+0

전 단순히 배경색을 변환하여 설정 한 것으로 보였지만 위의 방법이 효과가없는 이유가 누구에게나 있다면 괜찮을 것입니다. 그 중 하나를 듣고. 정말로 나 한테 이해가 가지 않는데. –

답변

관련 문제