2017-10-21 1 views
0
function save_pdf() { 
var doc = new jsPDF(); 
var imgSampleData ='data:image/png;base64,/9j/4AAQSkZJRgABAAEA8ADwAAD/2w...'; 
doc.addImage(btoa(imgSampleData), 'PNG', 15, 40, 175, 75); 
doc.save('MCR.pdf'); 
} 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.debug.js"></script> 

나는 아래 JSPDF의 이미지에 이러한 base64s을 추가 할 수 없습니다 오전 웹 서비스 중 하나에서 base64로 문자열을 통과 할 base64로 PNG 이미지를 추가 할 수 없습니다 내가 는 JSPDF 자바 스크립트

IE

에서 얻을 오류입니다 불완전하거나 손상된 PNG 파일

enter image description here

나는 전체 이미지의 전체 base64로 문자열을 부착했다. 이 Base64는 정상적으로 작동하며 온라인 변환 도구를 사용하면 이미지를 볼 수 있습니다. base64로 문자열의 유형을 분석 할 수없는 다른 JSPDF가 성공적으로 문자열을 구문 분석 할 것 같다 이유가 될 수 무엇

Attachement base64 png string

?

+1

브라우저의 URL 표시 줄에 base64 문자열을 복사 해보십시오. 이미지를 볼 수 없으면 문자열이 손상되었을 수 있습니다. – elarmando

+0

감사합니다 @elarmando 문자열이 잘 작동합니다! 그래서 부패하지 않습니다 –

+0

문자열이 base64에 이미 있으면 btoa를 호출하고 있습니다. btoa를 호출 할 필요가 없습니다 – elarmando

답변

0

이미지의 Base64 데이터가 JPEG이므로 오류도 마찬가지입니다.

var imgSampleData ='data:image/jpeg;base64,/9j/4AAQSkZJRgABAAEA8ADwAAD/2w...'; 

data:image/png

data:image/jpeg는 변경되어야하며 JSPDF 데이터가 JPEG이고, 상기 행에 실패했을 때를 인식하지 못한다. 저는 JSPDF와 함께 문제를 제기합니다 Reagrding this.