Saya ingin mengonversi ipython-notebook saya untuk mencetaknya, atau hanya mengirimkannya dalam format html. Saya perhatikan bahwa sudah ada alat untuk melakukannya, nbconvert . Meskipun saya telah mengunduhnya, saya tidak tahu bagaimana mengonversi notebook, dengan nbconvert2.py karena nbconvert mengatakan bahwa itu sudah usang. nbconvert2.py mengatakan bahwa saya memerlukan profil untuk mengonversi notebook, apakah itu? Apakah ada dokumentasi tentang alat ini?
python
jupyter-notebook
ipython
nunzio13n
sumber
sumber
Jawaban:
Jika Anda telah menginstal LaTeX, Anda dapat mendownload sebagai PDF langsung dari notebook Jupyter dengan File -> Download as -> PDF melalui LaTeX (.pdf) . Jika tidak, ikuti dua langkah ini.
Untuk keluaran HTML, Anda sekarang harus menggunakan Jupyter sebagai pengganti IPython dan pilih File -> Unduh sebagai -> HTML (.html) atau jalankan perintah berikut:
Ini akan mengonversi file dokumen Jupyter notebook.ipynb ke dalam format keluaran html.
Google Colaboratory adalah lingkungan notebook Jupyter gratis dari Google yang tidak memerlukan penyiapan dan sepenuhnya berjalan di cloud. Jika Anda menggunakan Google Colab, perintahnya sama, tetapi Google Colab hanya memungkinkan Anda mengunduh format .ipynb atau .py.
Ubah file html notebook.html menjadi file pdf bernama notebook.pdf. Di Windows, Mac atau Linux, instal wkhtmltopdf . wkhtmltopdf adalah utilitas baris perintah untuk mengubah html ke pdf menggunakan WebKit. Anda dapat mengunduh wkhtmltopdf dari halaman web yang ditautkan, atau di banyak distro Linux dapat ditemukan di repositori mereka.
Revisi asli (sekarang hampir usang): Konversikan file notebook IPython ke html.
ipython nbconvert --to html notebook.ipynb
sumber
jupyter
sebagai penggantiipython
misalnyajupyter nbconvert --to html notebook.ipynb
Dari dokumen :
sumber
nbconvrt
jadi saya tidak bisa membantu Anda dalam hal itu. Mudah-mudahan seseorang yang telah datang ...CTRL
+P
works.nbconvert belum sepenuhnya digantikan oleh nbconvert2, Anda masih dapat menggunakannya jika Anda mau, jika tidak, kami akan menghapus file yang dapat dieksekusi. Ini hanya peringatan bahwa kami tidak lagi memperbaiki bug nbconvert1.
Berikut ini seharusnya bekerja:
./nbconvert.py --format=pdf yourfile.ipynb
Jika Anda menggunakan versi IPython yang cukup baru, jangan gunakan tampilan cetak, cukup gunakan dialog cetak normal. Grafik yang dipotong di chrome adalah masalah yang diketahui (Chrome tidak menghormati beberapa css cetak), dan bekerja jauh lebih baik dengan firefox, tidak semua versi masih.
Adapun nbconvert2, masih sangat dev dan docs perlu ditulis.
Nbviewer menggunakan nbconvert2 sehingga cukup layak dengan HTML.
Daftar profil yang tersedia saat ini:
Memberi Anda profil yang ada. (Anda dapat membuat sendiri, cf dokumen masa depan,
./nbconvert2.py --help-all
akan memberi Anda beberapa opsi yang dapat Anda gunakan di profil Anda.)kemudian
$ ./nbconvert2.py [profilename] --no-stdout --write=True <yourfile.ipynb>
Dan itu harus menulis file (tex) Anda selama angka yang diekstrak di cwd. Ya saya tahu ini tidak jelas, dan mungkin akan berubah jadi tidak dok ...
Alasannya adalah bahwa nbconvert2 terutama akan menjadi pustaka python di mana dalam kode pseudo Anda dapat melakukan:
MyConverter = NBConverter(config=config) ipynb = read(ipynb_file) converted_files = MyConverter.convert(ipynb) for file in converted_files : write(file)
Titik masuk akan muncul nanti, setelah API distabilkan.
Saya hanya akan menunjukkan bahwa @jdfreder (profil github) sedang mengerjakan ekspor tex / pdf / sphinx dan merupakan ahli untuk menghasilkan PDF dari file ipynb pada saat penulisan ini.
sumber
[NbconvertApp] Config file for profile './profile/latex_base.nbcv' not found, giving up
Dan nbconvert tidak memberi saya file pdf secara langsung, tetapi file lateks, dan saya harus memproses file * .tex dengan pdflatex, tetapi itu solusi yang bagus.IPython.nbconvert.exporters.latex
dan saya bertanya-tanya apakah ada cara untuk mendapatkan keluaran PDF dari ini tanpa alat baris perintah. Juga, apa saja dependensi untuk membuatnya berfungsi? (pandoc, tetex, hal-hal lain?) Dan saya menganggap ini bukan lintas platform (tidak akan berfungsi di Windows). TIA!Juga berikan
--execute
bendera untuk mendapatkan outputPraktik terbaik adalah menjaga output dari notebook untuk kontrol versi, lihat: Menggunakan notebook IPython di bawah kontrol versi
Tetapi kemudian, jika Anda tidak lulus
--execute
, output tidak akan muncul di HTML, lihat juga: Bagaimana cara menjalankan Notebook Jupyter .ipynb dari terminal?Untuk fragmen HTML tanpa header: Bagaimana cara mengekspor notebook IPython ke HTML untuk posting blog?
Diuji di Jupyter 4.4.0.
sumber
sumber
Bagi mereka yang tidak dapat menginstal wkhtmltopdf di sistem mereka, satu metode lain selain yang telah disebutkan dalam jawaban atas pertanyaan ini adalah dengan mengunduh file sebagai file html dari notebook jupyter, mengunggahnya ke HTML ke PDF , dan mengunduh file pdf yang dikonversi dari sana.
Di sini Anda memiliki notebook IPython (.ipynb) yang dikonversi ke format PDF (.pdf) & HTML (.html).
sumber
Cara GUI
Buka File> Unduh sebagai> HTML atau PDF melalui LaTeX
Kemudian periksa folder Unduhan Anda untuk mencari file tersebut. PS: Jika LaTeX mengalami kesalahan saat mengkompilasi PDF, itu akan gagal. Jika ini terjadi, unduh file HTML lalu gunakan http://webpagetopdf.com/ atau layanan serupa lainnya untuk mengonversi HTML ke PDF.
Cara Command-Line
sumber
Jika Anda menggunakan versi cloud sagemath , Anda cukup pergi ke pojok kiri,
pilih File → Unduh sebagai → Pdf via LaTeX (.pdf)
Periksa tangkapan layar jika Anda mau.
Screenshot Mengonversi ipynb ke pdf
Jika tidak berhasil karena alasan apa pun, Anda dapat mencoba cara lain.
pilih File → Print Preview lalu pada preview
klik kanan → Print kemudian pilih save as pdf.
sumber
Saya belum bisa mendapatkan pdf untuk bekerja. Dokumen tersebut menyiratkan bahwa saya harus dapat membuatnya bekerja dengan lateks, jadi mungkin lateks saya tidak berfungsi. http://ipython.org/ipython-doc/rel-1.0.0/interactive/nbconvert.html
$ ipython --version 1.1.0 $ ipython nbconvert --to latex --post PDF myfile.ipynb [NbConvertApp] ... raise child_exception OSError: [Errno 2] No such file or directory $ ipython nbconvert --to pdf myfile.ipynb [NbConvertApp] CRITICAL | Bad config encountered during initialization: [NbConvertApp] CRITICAL | The 'export_format' trait of a NbConvertApp instance must be any of ['custom', 'html', 'latex', 'markdown', 'python', 'rst', 'slides'] or None, but a value of u'pdf' was specified.
Namun, HTML bekerja dengan baik menggunakan 'slide', dan itu indah!
$ ipython nbconvert --to slides myfile.ipynb ... [NbConvertApp] Writing 215220 bytes to myfile.slides.html
// Perbarui 2014-11-07Fri .: Sintaks IPython v3 berbeda, lebih sederhana;
$ ipython nbconvert --to PDF myfile.ipynb
Dalam semua kasus, tampaknya saya kehilangan perpustakaan 'pdflatex'. Saya sedang menyelidiki itu.sumber
Anda dapat melakukannya dengan mengonversi buku catatan menjadi HTML terlebih dahulu lalu ke format PDF:
Langkah-langkah berikut telah saya terapkan pada: OS: Ubuntu, notebook Anaconda-Jupyter, Python 3
1 Simpan Notebook dalam format HTML:
Mulai buku catatan jupyter yang ingin Anda simpan dalam format HTML. Pertama-tama simpan buku catatan dengan benar sehingga file HTML akan memiliki versi tersimpan terbaru dari kode / buku catatan Anda.
Jalankan perintah berikut dari buku catatan itu sendiri:
!jupyter nbconvert --to html your_notebook_name.ipynb
Setelah eksekusi akan membuat versi HTML dari notebook Anda dan akan menyimpannya di direktori kerja saat ini. Anda akan melihat satu file html akan ditambahkan ke direktori saat ini dengan
your_notebook_name.html
nama(
your_notebook_name.ipynb
->your_notebook_name.html
).2 Simpan html sebagai PDF:
your_notebook_name.html
file itu (klik di atasnya). Ini akan dibuka di tab baru di browser Anda.Perhatikan bahwa dari opsi cetak kami juga memiliki fleksibilitas untuk memilih sebagian dari buku catatan untuk disimpan dalam format pdf.
sumber
Pendekatan lain yang disarankan:
Menggunakan 'Print dan kemudian pilih save as pdf.' dari file HTML Anda akan mengakibatkan hilangnya tepi batas, penyorotan sintaksis, pemangkasan plot, dll.
Beberapa perpustakaan lain terbukti rusak saat menggunakan versi usang.
Solusi: Pilihan yang lebih baik dan tidak merepotkan adalah menggunakan konverter online yang akan mengonversi versi * .html dari * .ipynb Anda ke * .pdf.
Langkah:
Unggah file * .html yang baru dibuat di sini lalu pilih opsi HTML ke PDF.
File pdf Anda sekarang siap diunduh.
Anda sekarang memiliki file .ipynb, .html dan .pdf
sumber
Saya telah mencari cara untuk menyimpan notebook sebagai html, karena setiap kali saya mencoba mendownload sebagai html dengan instalasi Jupyter baru saya, saya selalu mendapatkan
500 : Internal Server Error The error was: nbconvert failed: validate() got an unexpected keyword argument 'relax_add_props'
error. Anehnya, saya menemukan bahwa mengunduh sebagai html sesederhana:Tanpa pratinjau cetak, tanpa cetakan, tanpa nbconvert. Menggunakan Jupyter
Version: 1.0.0
. Hanya saran untuk dicoba (jelas tidak semua penyiapan sama).sumber
Saya menemukan bahwa metode termudah untuk mengonversi notebook yang ada di web ke pdf adalah dengan melihatnya terlebih dahulu di layanan web nbviewer . Anda kemudian dapat mencetaknya ke file pdf. Jika notebook ada di drive lokal Anda, unggah ke repositori github terlebih dahulu dan gunakan url untuk nbviewer.
sumber
Saya menggabungkan beberapa jawaban di atas dalam python sebaris yang dapat Anda tambahkan ke ~ / .bashrc atau ~ / .zshrc untuk mengkompilasi dan mengonversi banyak buku catatan menjadi satu file pdf
function convert_notebooks(){ # read anything on this folder that ends on ipynb and run pdf formatting for it python -c 'import os; [os.system("jupyter nbconvert --to pdf " + f) for f in os.listdir (".") if f.endswith("ipynb")]' # to convert to pdf u must have installed latex and that means u have pdfjam installed pdfjam * }
sumber
Versi python biasa dari jawaban partizanos .
import os [os.system("jupyter nbconvert --to pdf " + f) for f in os.listdir(".") if f.endswith("ipynb")]
sumber
--template report
sebagai opsi tambahan juga mengkompilasi ToC ke pdf yang dihasilkan dengan mengambil judul penurunan harga yang berbeda di buku catatan.notebook-as-pdfInstall
python -m pip install notebook-as-pdf pyppeteer-install
Gunakan
Anda juga dapat menggunakannya dengan nbconvert:
jupyter-nbconvert --ke PDF melalui namafileHTML.ipynb
yang akan membuat file bernama filename.pdf.
atau pip install notebook-as-pdf
buat pdf dari notebook jupyter-nbconvert-toPDFviaHTML
sumber
Anda dapat menggunakan layanan online sederhana ini . Ini mendukung HTML dan PDF.
sumber
Cara paling sederhana menurut saya adalah 'Ctrl + P'> simpan sebagai 'pdf'. Itu dia.
sumber