Saat menggunakan wkhtmltopdf untuk menghasilkan dokumen PDF dari html dengan bagan c3, versi terbaru c3 (0.3.0) membuat wkhtmltopdf mengumumkan kesalahan "Peringatan: undefined:0 TypeError: 'undefined' bukan fungsi". PDF yang dihasilkan menunjukkan ruang kosong alih-alih bagan.
Versi c3 yang lebih lama digunakan untuk menghasilkan bagan dengan lancar. Saya telah mereproduksi ini dengan jenis diagram lingkaran dan batang.
Paket html, css & javascript lengkap dengan wkhtmltopdf ada di
http://burgan.whitevector.com/images/bug_report.zip
Output penuh dari wkhtmltopdf:
shark@virshark :~/bug_report$ sh generate_pdf.sh
Memuat halaman (1/6)
Peringatan: undefined:0 TypeError: 'undefined' bukan fungsi
Menghitung halaman (2/6)
Menyelesaikan tautan (4/6)
Memuat header dan footer (5/6)
Mencetak halaman (6/6)
Selesai
Saya menduga ini karena wkhtmltopdf
menggunakan QtWebKit
yang memiliki masalah dengan Function.prototype.bind
, metode yang digunakan di seluruh versi baru c3. Saya sendiri harus mengatasi masalah serupa ketika saya menulis phantomjs eksportir . Solusinya adalah menambahkan polyfill kecil ini:
Function.prototype.bind = Function.prototype.bind || function (thisp) {
var fn = this;
return function () {
return fn.apply(thisp, arguments);
};
};
Saya tidak terbiasa dengan wkhtmltopdf
tetapi Anda harus menjalankan kode itu dalam konteks halaman yang sedang dirender (cukup sertakan di halaman sebelum file c3 js dan itu akan berfungsi)
Terima kasih! Memasukkan 6 baris itu sebelum Javascript lain menyelesaikan masalah.
Terima kasih! Masalah ini terlihat terpecahkan, jadi tolong izinkan saya menutup.
@yuvii
@yuvii kamu luar biasa!
Saya mengalami masalah yang sama tetapi dengan vega / wkhtmltopdf
. Solusi oleh @yuvii bekerja seperti pesona. Terima kasih banyak!
@yuvii kamu adalah raja!
@yuvii Terima kasih!!!!!
Untuk googler ,
Terima kasih.
Luar biasa @yuvii . Saya mengalami masalah yang sama ketika Google Maps API berubah
Terima kasih banyak, ini benar-benar menyelesaikan masalah Django pdfkit saya!
Terima kasih @yuvii . Saya menghabiskan berjam-jam mencari solusi:
Menggambar di atas kanvas dengan Fabric.js > Html > wkhtmltopdf > .pdf file
Html di browser benar, tetapi file .pdf keluaran memiliki kanvas kosong.
Sepertinya fabric.js memiliki masalah yang sama
Saya menduga ini karena
wkhtmltopdf
menggunakanQtWebKit
yang memiliki masalah denganFunction.prototype.bind
, metode yang digunakan di seluruh versi baru c3. Saya sendiri harus mengatasi masalah serupa ketika saya menulis phantomjs eksportir . Solusinya adalah menambahkan polyfill kecil ini:Function.prototype.bind = Function.prototype.bind || function (thisp) { var fn = this; return function () { return fn.apply(thisp, arguments); }; };
Saya tidak terbiasa dengan
wkhtmltopdf
tetapi Anda harus menjalankan kode itu dalam konteks halaman yang sedang dirender (cukup sertakan di halaman sebelum file c3 js dan itu akan berfungsi)
Terima kasih banyak, menyelamatkan hari saya. Ini bekerja untuk saya dengan C3js. Sangat penting untuk mengatur lebar wadah bagan.
Komentar ini luar biasa. Saya tidak lagi membuat kode, saya meninggalkan dunia itu, tetapi sesekali saya mengunjungi halaman ini, dan menyaksikan dengan takjub sebagai solusi yang saya temukan untuk masalah khusus telah membantu _begitu banyak orang_ selama 5 tahun dan seterusnya. Ini gila.
Saya menduga ini karena
wkhtmltopdf
menggunakanQtWebKit
yang memiliki masalah denganFunction.prototype.bind
, metode yang digunakan di seluruh versi baru c3. Saya sendiri harus mengatasi masalah serupa ketika saya menulis phantomjs eksportir . Solusinya adalah menambahkan polyfill kecil ini:Function.prototype.bind = Function.prototype.bind || function (thisp) { var fn = this; return function () { return fn.apply(thisp, arguments); }; };
Saya tidak terbiasa dengan
wkhtmltopdf
tetapi Anda harus menjalankan kode itu dalam konteks halaman yang sedang dirender (cukup sertakan di halaman sebelum file c3 js dan itu akan berfungsi)
Holly Molly, Anda akan selamanya memiliki tempat khusus di hati saya. Grafik grafik tinggi berfungsi dengan baik di browser web tetapi tidak dikonversi dengan benar ke PDF dengan Wkhtmltopdf. Jika seseorang mengalami masalah yang sama, cukup tambahkan buat fungsi itu sebelumnya untuk memanggil skrip highchart Anda. Akhirnya menemukan solusi setelah 4 jam. Juga untuk dapat men-debug masalah Anda dengan Wkhtmltopdf dan Highchart jangan lupa untuk menambahkan argumen tersebut "wkhtmltopdf.exe --javascript-delay 10000 --no-stop-slow-scripts --enable-javascript --debug-javascript"
Saya menduga ini karena
wkhtmltopdf
menggunakanQtWebKit
yang memiliki masalah denganFunction.prototype.bind
, metode yang digunakan di seluruh versi baru c3. Saya sendiri harus mengatasi masalah serupa ketika saya menulis phantomjs eksportir . Solusinya adalah menambahkan polyfill kecil ini:Function.prototype.bind = Function.prototype.bind || function (thisp) { var fn = this; return function () { return fn.apply(thisp, arguments); }; };
Saya tidak terbiasa dengan
wkhtmltopdf
tetapi Anda harus menjalankan kode itu dalam konteks halaman yang sedang dirender (cukup sertakan di halaman sebelum file c3 js dan itu akan berfungsi)
Terima kasih banyak, saya baru saja memasang 6 baris di atas dan berfungsi dengan grafik tinggi, sedang men-debugnya selama hampir 3 - 4 jam.
Saya menduga ini karena
wkhtmltopdf
menggunakanQtWebKit
yang memiliki masalah denganFunction.prototype.bind
, metode yang digunakan di seluruh versi baru c3. Saya sendiri harus mengatasi masalah serupa ketika saya menulis phantomjs eksportir . Solusinya adalah menambahkan polyfill kecil ini:Function.prototype.bind = Function.prototype.bind || function (thisp) { var fn = this; return function () { return fn.apply(thisp, arguments); }; };
Saya tidak terbiasa dengan
wkhtmltopdf
tetapi Anda harus menjalankan kode itu dalam konteks halaman yang sedang dirender (cukup sertakan di halaman sebelum file c3 js dan itu akan berfungsi)
Menyelamatkan hari saya. Berjuang selama berhari-hari bersama :+1:
Komentar yang paling membantu
Saya menduga ini karena
wkhtmltopdf
menggunakanQtWebKit
yang memiliki masalah denganFunction.prototype.bind
, metode yang digunakan di seluruh versi baru c3. Saya sendiri harus mengatasi masalah serupa ketika saya menulis phantomjs eksportir . Solusinya adalah menambahkan polyfill kecil ini:Saya tidak terbiasa dengan
wkhtmltopdf
tetapi Anda harus menjalankan kode itu dalam konteks halaman yang sedang dirender (cukup sertakan di halaman sebelum file c3 js dan itu akan berfungsi)