2016-08-06 9 views
0

Ich brauche Hilfe mit dem folgenden Problem, wenn ich ein PDF mit Bildern auf Chrome und FireFox bekomme ich ein gutes Ergebnis bekommen kann, jsPDF einige aufsetzen verschwimmen, aber ich kann damit leben.jsPDF - Immer schwarze Bilder auf IE, funktioniert aber gut auf Chrome und FireFox

Result on Chrome

In anderen auf IE 10,11 und das Ergebnis Edge ist das folgende:

Result on IE

Wenn Sie bemerken wir etwas auf den Bildern sehen kann, sondern fast schwarz ist.

Das sind Diagramme von Highcharts und ich konvertiere Svg zu Canvas.

Ich habe ein paar Schnipsel, aber ich kann das ganze Beispiel per E-Mail senden:

var doc = new jsPDF('p', 'pt', 'a4', true); 
    var centered_x = (doc.internal.pageSize.width/2) - ((context.destWidth/2) * 0.75); 

imgData_1 = atob(imgData_1); 
doc.addImage(imgData_1, 'png', centered_x, 50); 

data.datauri = context.browserSupportDownload && doc.output('datauristring'); 
data.blob = context.browserSupportBlob && doc.output('blob'); 

ich die Funktion aufrufen download den Strom an den Browser und seine Definition das ist wie zu senden:

var download = function(highChartsObject, context, data) { 
    if (!data || (!data.content && !(data.datauri || data.blob))) { 
     throw new Error("Something went wrong while exporting the chart"); 
    } 

    if (context.browserSupportDownload && (data.datauri || data.content)) { 
     a = document.createElement('a'); 
     a.href = data.datauri || ('data:' + context.type + ';base64,' + window.btoa(unescape(encodeURIComponent(data.content)))); 
     a.download = 'result_good.pdf'; 
     document.body.appendChild(a); 
     a.click(); 
     a.remove(); 
    } 
    else if (context.browserSupportBlob && (data.blob || data.content)) { 
     blobObject = data.blob || new Blob([data.content], { type: context.type }); 
     window.navigator.msSaveOrOpenBlob(blobObject, 'IE_CASE.pdf'); 
    } 
    else { 
     //window.open(data); 
     window.navigator.msSaveOrOpenBlob(blobObject, 'IE_CASE.pdf'); 
    } 
    }; 

Vielen Dank im Voraus.

+1

Könnten Sie in diesem Fall kein Highcharts-Exportmodul verwenden? http://www.highcharts.com/docs/export-module/export-module-overview –

Antwort

0

Versuchen Sie, die Hintergrundfarbe des Bildes mit Canvas oder Svg zu ändern. https://github.com/MrRio/jsPDF/issues/247

+0

Danke für Ihre Antwort, jetzt benutze ich die Methode speichern von jsPdf, die gut mit Chrome und FireFox und IE 10 auch funktioniert, das Problem passiert immer noch mit IE-Kante. Mit freundlichen Grüßen – lfmparente

Verwandte Themen