Uppgiften är klar i Jupyter, och inlämningssystemet vill ha en PDF. Du väljer ”Ladda ned som PDF” eller kör jupyter nbconvert --to pdf och får ett fel: xelatex hittades inte, eller pandoc saknas. nbconvert gör sina PDF:er via LaTeX och behöver därför en komplett TeX-distribution installerad innan något alls kommer ut.

Look Scanned kan nu öppna .ipynb-filer direkt. Välj din notebook på sidan Jupyter Notebook till skannad PDF så sätts den upp direkt i webbläsaren: Markdown-cellerna, koden och den utdata som sparats i filen. Kontrollera sidorna i förhandsvisningen och ladda ned en PDF. Det finns inget att installera, och din notebook laddas inte upp.

En sak först: Look Scanned får dokument att se skannade ut, och det är så PDF:en ser ut. Det passar en notebook som ska lämnas in som en utskriven och skannad kopia, eller som helt enkelt ska se ut som papper. Du kan dra ned rotation, oskärpa och brus till noll för en renare sida, men varje sida är fortfarande en bild, så texten i PDF:en går inte att markera eller söka i.

Så gör du en skannad PDF av en .ipynb-fil

  1. Kör notebooken och spara den i Jupyter, JupyterLab, VS Code eller Google Colab, så att utdatan lagras i filen. I Colab använder du Arkiv → Ladda ned → Ladda ned .ipynb.
  2. Öppna Jupyter Notebook till skannad PDF och välj .ipynb-filen.
  3. Gå igenom förhandsvisningen sida för sida. Kontrollera kod, tabeller och diagram, och ställ in pappersstorlek och marginaler.
  4. Justera skanningseffekten. Håll oskärpa och brus låga så att liten kod förblir läsbar. Sidorna blir gråskala som standard; välj ”Färg” om diagrammen ska behålla sina färger.
  5. Skapa den skannade PDF:en och ladda ned den.

Vill du hellre ha bilder kan du exportera varje sida som JPG eller PNG i stället. Vår guide till PDF, JPG och PNG förklarar när vilket format passar. Med Pro kan du använda masskanning för att hantera flera .ipynb-filer på en gång.

Det här kommer med på sidan

  • Markdown-celler: rubriker, listor, tabeller, länkar och bilder, även bilder som klistrats in direkt i en cell.
  • Kodceller, med syntaxmarkering för notebookens språk och sina In [1]:-prompter. Långa rader bryts i stället för att gå utanför sidan.
  • Sparad utdata under sina Out[1]:-prompter: utskriven text, returvärden, HTML-tabeller som pandas-DataFrames och bilder, så diagram från matplotlib eller seaborn kommer med.
  • Fel, med hela tracebacken.
  • Terminalutdata som en terminal visar den. Färgkoder tas bort, och en förloppsindikator som tqdm behåller bara sitt slutläge i stället för varje uppdatering.

Bra att veta innan du börjar

  • Cellerna körs inte. Look Scanned läser det som är sparat i filen; det finns ingen kärna. En cell du aldrig kört, eller en notebook som sparats med rensad utdata, visar kod utan något under. Kör alla celler och spara innan du väljer filen.
  • Formler visas som TeX-källkod. Formler som skrivits som $…$ eller $$…$$ i Markdown-celler visas precis som de skrevs, till exempel $\alpha + \beta$, och inte som typsatt matematik.
  • Interaktiv utdata visas inte. Plotly, Bokeh och ipywidgets ritar med JavaScript, som inte körs. Du får den statiska version som notebooken sparade bredvid, ofta bara en kort textrad, eller ingenting alls. Diagram som sparats som bilder, som de från matplotlib, fungerar fint.
  • Notebooken måste vara nbformat 4. Det är vad aktuella versioner av Jupyter, JupyterLab, VS Code och Colab skriver. En mycket gammal notebook i nbformat 3 avvisas; öppna den i en aktuell Jupyter och spara den igen för att uppgradera den.
  • Breda tabeller trycks ihop. Tabeller anpassas till sidbredden, så en DataFrame med många kolumner får smala kolumner med radbrytningar.
  • Behåll din notebook. Precis som en riktig skanning består PDF:en av sidbilder. Behåll .ipynb-filen för att köra och redigera koden.

Notebooken läses och sätts upp på din egen enhet och laddas inte upp till någon server. Det enda undantaget är en Markdown-cell som visar en bild via en webbadress: din webbläsare hämtar bilden från webbplatsen där den ligger, precis som Jupyter skulle göra.

När nbconvert är det bättre valet

Behöver du markerbar text, typsatta formler eller en PDF som exakt matchar Jupyters egen export är nbconvert fortfarande rätt verktyg. Installera en TeX-distribution och kör jupyter nbconvert --to pdf, eller använd --to webpdf, som skriver ut via en huvudlös Chromium-webbläsare och klarar sig helt utan LaTeX. I båda fallen kan du sedan lägga på skanningseffekten på den PDF:en i Look Scanned.

Är din rapport en Markdown- eller LaTeX-fil snarare än en notebook? De går också att öppna: se Markdown och HTML till skannad PDF och LaTeX till skannad PDF.

Har du en notebook som måste lämnas in som PDF? Prova nu.