De opdracht is af in Jupyter, en het inleverportaal wil een PDF. Je kiest ‘Downloaden als PDF’ of draait jupyter nbconvert --to pdf, en krijgt een foutmelding: xelatex niet gevonden, of pandoc ontbreekt. nbconvert maakt zijn PDF’s via LaTeX en heeft dus een volledige TeX-distributie nodig voordat er ook maar iets uitkomt.
Look Scanned kan .ipynb-bestanden nu direct openen. Kies je notebook op de pagina Jupyter Notebook naar gescande PDF en het wordt meteen in je browser opgemaakt: de Markdown-cellen, de code en de uitvoer die erin is opgeslagen. Controleer de pagina’s in de voorvertoning en download een PDF. Je hoeft niets te installeren en het notebook wordt niet geüpload.
Eén ding vooraf: Look Scanned laat documenten er gescand uitzien, en zo ziet de PDF er ook uit. Dat is precies goed voor een notebook dat als afgedrukte en gescande versie ingeleverd moet worden, of dat gewoon op papier moet lijken. Je kunt rotatie, vervaging en ruis op nul zetten voor een strakkere pagina, maar elke pagina blijft een afbeelding: de tekst in de PDF kun je dus niet selecteren of doorzoeken.
Zo zet je een .ipynb-bestand om naar een gescande PDF
- Voer het notebook uit en sla het op in Jupyter, JupyterLab, VS Code of Google Colab, zodat de uitvoer in het bestand wordt bewaard. In Colab gebruik je Bestand → Downloaden → .ipynb downloaden.
- Open Jupyter Notebook naar gescande PDF en kies het
.ipynb-bestand. - Loop de voorvertoning pagina voor pagina door. Controleer de code, tabellen en grafieken en stel het papierformaat en de marges in.
- Pas het scaneffect aan. Houd vervaging en ruis laag, zodat kleine code leesbaar blijft. Pagina’s zijn standaard in grijstinten; kies ‘Kleurrijk’ als je grafieken hun kleuren moeten houden.
- Genereer de gescande PDF en download hem.
Liever afbeeldingen? Je kunt elke pagina ook als JPG of PNG exporteren. Onze uitleg over PDF, JPG en PNG legt uit wanneer welk formaat handig is. Met Pro verwerk je met bulkscannen meerdere .ipynb-bestanden tegelijk.
Wat er op de pagina komt
- Markdown-cellen: koppen, lijsten, tabellen, links en afbeeldingen, ook afbeeldingen die je direct in een cel hebt geplakt.
- Codecellen, met syntaxiskleuring voor de taal van het notebook en hun
In [1]:-prompts. Lange regels lopen door op de volgende regel in plaats van van de pagina af. - Opgeslagen uitvoer, onder de
Out[1]:-prompts: geprinte tekst, retourwaarden, HTML-tabellen zoals pandas-DataFrames en afbeeldingen, dus grafieken uit matplotlib of seaborn komen mee. - Foutmeldingen, met de volledige traceback.
- Terminaluitvoer zoals een terminal hem toont. Kleurcodes worden verwijderd, en een voortgangsbalk zoals tqdm houdt alleen zijn eindstand over in plaats van elke tussenstap.
Wat je vooraf moet weten
- Cellen worden niet uitgevoerd. Look Scanned leest wat er in het bestand is opgeslagen; er is geen kernel. Een cel die je nooit hebt uitgevoerd, of een notebook dat is opgeslagen met gewiste uitvoer, toont code zonder iets eronder. Voer alle cellen uit en sla op voordat je het bestand kiest.
- Formules blijven TeX-broncode. Formules die in Markdown-cellen als
$…$of$$…$$staan, verschijnen precies zoals ze zijn getypt, bijvoorbeeld$\alpha + \beta$, en niet als opgemaakte wiskunde. - Interactieve uitvoer wordt niet weergegeven. Plotly, Bokeh en ipywidgets tekenen met JavaScript, en dat wordt niet uitgevoerd. Je krijgt de statische versie die het notebook erbij heeft opgeslagen, vaak niet meer dan een korte regel tekst, of helemaal niets. Grafieken die als afbeelding zijn opgeslagen, zoals die van matplotlib, werken prima.
- Notebooks moeten nbformat 4 zijn. Dat schrijven de huidige versies van Jupyter, JupyterLab, VS Code en Colab. Een heel oud notebook in nbformat 3 wordt geweigerd; open het in een recente Jupyter en sla het opnieuw op om het bij te werken.
- Brede tabellen worden samengeperst. Tabellen worden passend gemaakt voor de paginabreedte, dus een DataFrame met veel kolommen krijgt smalle kolommen met afgebroken tekst.
- Bewaar je notebook. Net als een echte scan bestaat de PDF uit pagina-afbeeldingen. Houd het
.ipynb-bestand om de code uit te voeren en te bewerken.
Het notebook wordt op je eigen apparaat gelezen en opgemaakt en niet naar een server geüpload. De enige uitzondering is een Markdown-cel die een afbeelding via een webadres toont: je browser haalt die afbeelding op bij de site waar ze staat, net zoals Jupyter zou doen.
Wanneer nbconvert de betere keuze is
Heb je selecteerbare tekst, opgemaakte formules of een PDF nodig die precies gelijk is aan de eigen export van Jupyter, dan blijft nbconvert het juiste gereedschap. Installeer een TeX-distributie en voer jupyter nbconvert --to pdf uit, of gebruik --to webpdf, dat afdrukt via een headless Chromium-browser en LaTeX helemaal overslaat. In beide gevallen kun je daarna in Look Scanned het scaneffect aan die PDF toevoegen.
Is je verslag een Markdown- of LaTeX-bestand in plaats van een notebook? Die kun je ook openen: zie Markdown en HTML naar gescande PDF en LaTeX naar gescande PDF.
Heb je een notebook dat als PDF ingeleverd moet worden? Probeer het nu.