Ich möchte meine ipython-Notizbücher konvertieren, um sie zu drucken, oder sie einfach im HTML-Format senden. Mir ist aufgefallen, dass es dafür bereits ein Tool gibt, nbconvert . Obwohl ich es heruntergeladen habe, habe ich keine Ahnung, wie ich das Notebook mit nbconvert2.py konvertieren soll, da nbconvert angibt, dass es veraltet ist. nbconvert2.py sagt, dass ich ein Profil brauche, um das Notebook zu konvertieren. Was ist das? Gibt es eine Dokumentation zu diesem Tool?
python
jupyter-notebook
ipython
nunzio13n
quelle
quelle
Antworten:
Wenn Sie LaTeX installiert haben, können Sie es als PDF direkt vom Jupyter-Notizbuch mit Datei -> Download als -> PDF über LaTeX (.pdf) herunterladen . Befolgen Sie andernfalls diese beiden Schritte.
Für die HTML-Ausgabe sollten Sie jetzt Jupyter anstelle von IPython verwenden und Datei -> Herunterladen als -> HTML (.html) auswählen oder den folgenden Befehl ausführen:
Dadurch wird die Jupyter-Dokumentdatei notebook.ipynb in das HTML-Ausgabeformat konvertiert.
Google Colaboratory ist Googles kostenlose Jupyter-Notebook-Umgebung, die keine Einrichtung erfordert und vollständig in der Cloud ausgeführt wird. Wenn Sie Google Colab verwenden, sind die Befehle identisch. In Google Colab können Sie jedoch nur die Formate .ipynb oder .py herunterladen.
Konvertieren Sie die HTML-Datei notebook.html in eine PDF-Datei namens notebook.pdf. Installieren Sie unter Windows, Mac oder Linux wkhtmltopdf . wkhtmltopdf ist ein Befehlszeilenprogramm zum Konvertieren von HTML in PDF mit WebKit. Sie können wkhtmltopdf von der verlinkten Webseite herunterladen oder in vielen Linux-Distributionen in ihren Repositories finden.
Ursprüngliche (inzwischen fast veraltete) Revision: Konvertieren Sie die IPython-Notebook-Datei in HTML.
ipython nbconvert --to html notebook.ipynb
quelle
jupyter
anstelle vonipython
zBjupyter nbconvert --to html notebook.ipynb
Aus den Dokumenten :
quelle
nbconvrt
also kann ich dir dabei nicht wirklich helfen. Hoffentlich kommt jemand, der mitgekommen ist ...CTRL
+P
funktioniert.nbconvert ist noch nicht vollständig durch nbconvert2 ersetzt. Sie können es weiterhin verwenden, wenn Sie dies wünschen. Andernfalls hätten wir die ausführbare Datei entfernt. Es ist nur eine Warnung, dass wir nbconvert1 nicht mehr bugfixieren.
Folgendes sollte funktionieren:
Wenn Sie sich in einer IPython-Version befinden, die aktuell genug ist, verwenden Sie nicht die Druckansicht, sondern nur den normalen Druckdialog. In Chrom geschnittene Grafiken sind ein bekanntes Problem (Chrome respektiert einige Druck-CSS nicht) und funktionieren mit Firefox viel besser, nicht alle Versionen noch.
Was nbconvert2 betrifft, so ist es immer noch sehr dev und es müssen Dokumente geschrieben werden.
Nbviewer verwendet nbconvert2, daher ist es mit HTML ziemlich anständig.
Liste der aktuell verfügbaren Profile:
Geben Sie die vorhandenen Profile. (Sie können ein eigenes, zukünftiges Dokument erstellen,
./nbconvert2.py --help-all
das Ihnen eine Option bietet, die Sie in Ihrem Profil verwenden können.)dann
$ ./nbconvert2.py [profilename] --no-stdout --write=True <yourfile.ipynb>
Und es sollte Ihre (tex) Dateien schreiben, solange die Zahlen in cwd extrahiert werden. Ja, ich weiß, dass dies nicht offensichtlich ist, und es wird sich wahrscheinlich ändern, daher kein Dokument ...
Der Grund dafür ist, dass nbconvert2 hauptsächlich eine Python- Bibliothek ist, in der Sie im Pseudocode Folgendes tun können:
MyConverter = NBConverter(config=config) ipynb = read(ipynb_file) converted_files = MyConverter.convert(ipynb) for file in converted_files : write(file)
Der Einstiegspunkt wird später kommen, sobald die API stabilisiert ist.
Ich möchte nur darauf hinweisen, dass @jdfreder (Github-Profil) am tex / pdf / sphinx-Export arbeitet und der Experte ist, der zum Zeitpunkt dieses Schreibens PDF aus einer ipynb-Datei generiert.
quelle
[NbconvertApp] Config file for profile './profile/latex_base.nbcv' not found, giving up
Konfigurationsdatei benötigt. Und nbconvert gibt mir nicht direkt eine PDF-Datei, sondern eine Latex-Datei, und ich muss die * .tex-Datei mit pdflatex verarbeiten, aber es ist eine gute Lösung.IPython.nbconvert.exporters.latex
und frage mich, ob es eine Möglichkeit gibt, eine PDF-Ausgabe ohne das Befehlszeilentool zu erhalten. Welche Abhängigkeiten gibt es, damit es funktioniert? (Pandoc, Tetex, andere Dinge?) Und ich nehme an, es ist nicht plattformübergreifend (funktioniert nicht unter Windows). TIA!Übergeben Sie auch das
--execute
Flag, um die Ausgabe zu erhaltenDie beste Vorgehensweise besteht darin, die Ausgabe zur Versionskontrolle aus dem Notebook herauszuhalten, siehe: Verwenden von IPython-Notebooks unter Versionskontrolle
Wenn Sie jedoch nicht bestehen
--execute
, ist die Ausgabe nicht im HTML- Code vorhanden. Siehe auch: Ausführen eines .ipynb Jupyter-Notizbuchs vom Terminal aus?Für ein HTML-Fragment ohne Header: Wie exportiere ich ein IPython-Notizbuch für einen Blog-Beitrag in HTML?
Getestet in Jupyter 4.4.0.
quelle
Für diejenigen, die wkhtmltopdf nicht auf ihren Systemen installieren können, besteht eine andere Methode als viele, die bereits in den Antworten auf diese Frage erwähnt wurden, darin, die Datei einfach als HTML-Datei vom Jupyter-Notizbuch herunterzuladen , in HTML in PDF hochzuladen und herunterzuladen die konvertierten pdf-Dateien von dort.
Hier haben Sie Ihr IPython-Notizbuch (.ipynb) in die Formate PDF (.pdf) und HTML (.html) konvertiert.
quelle
quelle
GUI Weg
Gehen Sie über LaTeX zu Dateien> Herunterladen als> HTML oder PDF
Überprüfen Sie dann Ihren Download-Ordner auf die Datei. PS: Wenn LaTeX beim Kompilieren der PDF-Datei Fehler hatte, schlägt dies fehl. Laden Sie in diesem Fall die HTML-Datei herunter und konvertieren Sie den HTML-Code mit http://webpagetopdf.com/ oder einem ähnlichen Dienst in PDF.
Befehlszeilenmethode
quelle
Wenn Sie die Sagemath Cloud-Version verwenden, können Sie einfach in die linke Ecke gehen und
Datei → Herunterladen als → PDF über LaTeX (.pdf) auswählen.
Überprüfen Sie den Screenshot, wenn Sie möchten.
Screenshot Ipynb in PDF konvertieren
Wenn es aus irgendeinem Grund nicht funktioniert, können Sie es auf andere Weise versuchen.
Wählen Sie Datei → Druckvorschau und
klicken Sie dann in der Vorschau mit der rechten Maustaste auf → Drucken und wählen Sie dann Als PDF speichern.
quelle
Ich kann PDF noch nicht zum Laufen bringen. Die Dokumente implizieren, dass ich in der Lage sein sollte, es mit Latex zum Laufen zu bringen, also funktioniert mein Latex möglicherweise nicht. 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.
HTML funktioniert jedoch hervorragend mit "Folien" und es ist wunderschön!
$ ipython nbconvert --to slides myfile.ipynb ... [NbConvertApp] Writing 215220 bytes to myfile.slides.html
// Update 2014-11-07Fri.: Die IPython v3-Syntax unterscheidet sich, es ist einfacher;
$ ipython nbconvert --to PDF myfile.ipynb
In allen Fällen scheint mir die Bibliothek 'pdflatex' gefehlt zu haben. Ich untersuche das.quelle
Sie können dies tun, indem Sie zuerst das Notizbuch in HTML und dann in das PDF-Format konvertieren:
Folgende Schritte habe ich implementiert: Betriebssystem: Ubuntu, Anaconda-Jupyter-Notebook, Python 3
1 Speichern Sie das Notizbuch im HTML-Format:
Starten Sie das Jupyter-Notizbuch, das Sie im HTML-Format speichern möchten. Speichern Sie zuerst das Notizbuch ordnungsgemäß, damit die HTML-Datei eine zuletzt gespeicherte Version Ihres Codes / Notizbuchs enthält.
Führen Sie den folgenden Befehl vom Notizbuch aus aus:
!jupyter nbconvert --to html your_notebook_name.ipynb
Nach der Ausführung wird eine HTML-Version Ihres Notebooks erstellt und im aktuellen Arbeitsverzeichnis gespeichert. Sie werden sehen, dass eine HTML-Datei mit dem
your_notebook_name.html
Namen zum aktuellen Verzeichnis hinzugefügt wird(
your_notebook_name.ipynb
->your_notebook_name.html
).2 Speichern Sie HTML als PDF:
your_notebook_name.html
Datei (klicken Sie darauf). Es wird in einem neuen Tab Ihres Browsers geöffnet.Beachten Sie, dass wir über die Druckoption auch die Flexibilität haben, einen Teil eines Notizbuchs auszuwählen, der im PDF-Format gespeichert werden soll.
quelle
Ich habe nach einer Möglichkeit gesucht, Notebooks als HTML zu speichern, da immer dann, wenn ich versuche, sie mit meiner neuen Jupyter-Installation als HTML herunterzuladen, eine
500 : Internal Server Error The error was: nbconvert failed: validate() got an unexpected keyword argument 'relax_add_props'
Fehlermeldung angezeigt wird. Seltsamerweise habe ich festgestellt, dass das Herunterladen als HTML so einfach ist wie:Keine Druckvorschau, kein Druck, kein nbconvert. Jupyter verwenden
Version: 1.0.0
. Nur ein Vorschlag zum Ausprobieren (offensichtlich sind nicht alle Setups gleich).quelle
Ich finde, dass die einfachste Methode, ein Notizbuch, das sich im Web befindet, in PDF umzuwandeln, darin besteht, es zuerst im Webdienst nbviewer anzuzeigen . Sie können es dann in eine PDF-Datei drucken. Wenn sich das Notebook auf Ihrem lokalen Laufwerk befindet, laden Sie es zuerst in ein Github-Repository hoch und verwenden Sie seine URL für nbviewer.
quelle
Andere vorgeschlagene Ansätze:
Verwenden Sie "Drucken" und wählen Sie "Als PDF speichern". aus Ihrer HTML-Datei führt zum Verlust von Randkanten, Hervorheben der Syntax, Trimmen von Plots usw.
Einige andere Bibliotheken haben sich als defekt erwiesen, wenn es um die Verwendung veralteter Versionen geht.
Lösung: Eine bessere und problemlose Option ist die Verwendung eines Online-Konverters https://www.sejda.com/html-to-pdf, der die * .html-Version Ihres * .ipynb in * .pdf konvertiert.
Schritte:
Laden Sie die neu erstellte * .html-Datei auf https://www.sejda.com/html-to-pdf hoch und wählen Sie dann die Option HTML in PDF.
Ihre PDF-Datei steht jetzt zum Download bereit.
Sie haben jetzt .ipynb-, .html- und .pdf-Dateien
quelle
Ich habe oben einige Antworten in Inline-Python kombiniert, die Sie zu ~ / .bashrc oder ~ / .zshrc hinzufügen können, um viele Notizbücher zu kompilieren und in eine einzelne PDF-Datei zu konvertieren
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 * }
quelle
Die einfache Python-Version von Partizanos 'Antwort .
import os [os.system("jupyter nbconvert --to pdf " + f) for f in os.listdir(".") if f.endswith("ipynb")]
quelle
--template report
als zusätzliche Option verwenden, wird auch ein ToC für das resultierende PDF kompiliert, indem die verschiedenen Markdown-Überschriften im Notizbuch verwendet werden.notebook-as-pdfInstall
python -m pip installiere notebook-as-pdf pyppeteer-install
Benutze es
Sie können es auch mit nbconvert verwenden:
jupyter-nbconvert --to PDFviaHTML filename.ipynb
Dadurch wird eine Datei mit dem Namen filename.pdf erstellt.
oder pip install notebook-as-pdf
Erstellen Sie ein PDF aus dem Notizbuch jupyter-nbconvert-toPDFviaHTML
quelle
Der einfachste Weg, den ich denke, ist 'Strg + P'> als 'pdf' speichern. Das ist es.
quelle
Sie können diesen einfachen Onlinedienst nutzen. Es unterstützt sowohl HTML als auch PDF.
https://htmtopdf.herokuapp.com/ipynbviewer/
quelle