prosource

IPython 노트북을 PDF 및 HTML로 변환하는 방법은 무엇입니까?

probook 2023. 8. 1. 20:38
반응형

IPython 노트북을 PDF 및 HTML로 변환하는 방법은 무엇입니까?

ipython 노트북을 인쇄하거나 html 형식으로 보내고 싶습니다.이미 nbconvert라는 도구가 있다는 것을 알게 되었습니다.제가 그것을 다운로드했지만, nbconvert가 더 이상 사용되지 않는다고 말하기 때문에 nbconvert2.py 에서 노트북을 변환하는 방법을 모르겠습니다.nbconvert2.py 에서 노트북을 변환하려면 프로필이 필요하다고 하는데, 무엇입니까?이 도구에 대한 설명서가 있습니까?

LaTeX를 설치한 경우 파일 -> 다른 이름으로 다운로드 -> LaTeX(.pdf)통해 PDF를 주피터 노트북에서 직접 다운로드할 수 있습니다.그렇지 않으면 다음 두 단계를 수행합니다.

  1. HTML 출력의 경우 IPython 대신 Jupyter를 사용하고 File -> Download as -> HTML(.html)선택하거나 다음 명령을 실행해야 합니다.

     jupyter nbconvert --to html notebook.ipynb  
    

    이렇게 하면 Jupyter 문서 파일 notebook.ipynb가 html 출력 형식으로 변환됩니다.

    Google Collaboratory는 설치가 필요 없고 클라우드에서 완전히 실행되는 Google의 무료 주피터 노트북 환경입니다.Google Colab을 사용하는 경우 명령은 동일하지만 Google Colab에서는 .ipynb 또는 .py 형식만 다운로드할 수 있습니다.

  2. notebookhtml이라는 PDF 합니다.html은 pdf.pdf입니다.윈도우즈 경우 macOS)brew install wkhtmltodf) 또는 Linux에서 wkhtmltopdf를 설치합니다.wkhtmltopdf는 WebKit를 사용하여 html을 pdf로 변환하는 명령줄 유틸리티입니다.wkhtmltopdf는 링크된 웹 페이지에서 다운로드할 수 있으며, 많은 Linux 디스트리뷰트에서 저장소에서 찾을 수 있습니다.

     wkhtmltopdf notebook.html notebook.pdf   
    

원래(현재는 거의 쓸모가 없는) 개정판:IPython 노트북 파일을 html로 변환합니다.

ipython nbconvert --to html notebook.ipynb

또한 다음을 합니다.--execute 입니다.

jupyter nbconvert --execute --to html notebook.ipynb
jupyter nbconvert --execute --to pdf notebook.ipynb

버전 제어를 위해 노트북 밖으로 출력을 내보내지 않는 것이 가장 좋습니다. 자세한 내용은 버전 제어에서 IPython 노트북 사용을 참조하십시오.

하지만 만약 당신이 합격하지 못한다면,--execute출력은 HTML에 표시되지 않습니다. 항목:터미널에서 .ipynb 주피터 노트북을 실행하는 방법은 무엇입니까?

헤더가 없는 HTML 조각의 경우:블로그 게시물을 위해 IPython 노트북을 HTML로 내보내는 방법은 무엇입니까?

주피터 4.4.0에서 테스트되었습니다.

문서에서:

다른 사용자에게 노트북의 정적 HTML 또는 PDF 보기를 제공하려면 인쇄 단추를 사용합니다.이렇게 하면 운영 체제의 기능을 사용하여 PDF로 인쇄하거나 웹 브라우저의 '저장' 옵션이 있는 파일에 저장할 수 있는 문서의 정적 보기가 열립니다(일반적으로, 이렇게 하면 html 파일과 옆에 필요한 모든 스타일 정보가 들어 있는 note_name_files라는 디렉토리가 모두 만들어집니다.이 파일을 공유하려면 기본 html 파일과 함께 디렉터리를 보내야 합니다.

nbconvert는 아직 nbconvert2로 완전히 대체되지 않았습니다. 원한다면 여전히 사용할 수 있습니다. 그렇지 않았다면 실행 파일을 제거했을 것입니다.더 이상 nbconvert1을 버그 수정하지 않는다는 경고입니다.

다음이 작동해야 합니다.

./nbconvert.py --format=pdf yourfile.ipynb 

IPython 최신 버전의 경우 인쇄 보기를 사용하지 말고 일반 인쇄 대화 상자를 사용하십시오.Chrome에서 그래프가 잘리는 것은 알려진 문제이며(Chrome은 일부 인쇄 CSS를 존중하지 않음), 여전히 모든 버전이 아닌 파이어폭스에서 훨씬 더 잘 작동합니다.

nbconvert2에 대해서는 여전히 개발 및 문서 작성이 필요합니다.

Nbviewer는 nbconvert2를 사용하기 때문에 HTML과 꽤 잘 어울립니다.

현재 사용 가능한 프로필 목록:

$ ls -l1 profile|cut -d. -f1

base_html
blogger_html
full_html
latex_base
latex_sphinx_base
latex_sphinx_howto
latex_sphinx_manual
markdown
python
reveal
rst

프로필을 을 생성할 수 있습니다.)./nbconvert2.py --help-all프로필에 사용할 수 있는 옵션을 제공해야 합니다.)

그리고나서

$ ./nbconvert2.py [profilename] --no-stdout --write=True <yourfile.ipynb>

그리고 그것은 cwd로 추출된 수치만큼 당신의 (텍스트) 파일을 써야 합니다.네, 이게 분명하지 않다는 것을 압니다. 그리고 아마 바뀔 것입니다. 그래서 의사가...

그 이유는 nbconvert2가 주로 pseudo 코드에서 할 수 있는 파이썬 라이브러리이기 때문입니다.

 MyConverter = NBConverter(config=config)
 ipynb = read(ipynb_file)
 converted_files = MyConverter.convert(ipynb)
 for file in converted_files :
     write(file)

API가 안정화되면 나중에 진입점이 올 것입니다.

@jdfreder(github profile)는 text/pdf/spinx 내보내기 작업을 수행하고 있으며, 이 작성 당시 ipynb 파일에서 PDF를 생성하는 전문가라는 점만 지적하겠습니다.

  1. HTML로 저장;
  2. Ctrl + P ;
  3. PDF로 저장합니다.

당신의 문서에 수학적이고 과학적인 공식이 있다면 오직 이 대답만이 유용할 것입니다.당신이 그것들을 가지고 있지 않더라도 그것은 잘 작동합니다.

GUI 방식

  • 주피터 노트를 펼칩니다.

  • 파일로 이동 > LaTeX를 통해 HTML 또는 PDF로 다운로드

  • 그런 다음 다운로드 폴더에서 파일을 확인합니다.PS: PDF를 컴파일하는 동안 LaTeX에 오류가 발생하면 실패합니다.이 경우 HTML 파일을 다운로드한 다음 웹 페이지에서 PDF로 도구 또는 기타 유사한 서비스를 사용하여 HTML을 PDF로 변환합니다.

명령줄 방식

  • 터미널 열기
  • 주피터 노트북이 들어 있는 폴더로 이동합니다.
  • "pdf_pdfyter_pdfyter_pdf.ipynb"

PS: 실패하면 Yogesh의 대답을 시도합니다.

sagemath 클라우드 버전을 사용하는 경우에는 왼쪽 코너로 이동하면 됩니다.
LaTeX를 → (. → LaTeX → PDF로 다운로드(pdf) 선
원한다면 스크린샷을 확인하세요.

Screenshot Convert ipynb to pdf

어떤 이유로든 효과가 없다면 다른 방법을 시도해보셔도 됩니다.
→후 File → Print Preview(인쇄 미리보기)를 선택합니다.
→ Print를 마우스 오른쪽 버튼으로 클릭한 다음 save as pdf를 선택합니다.

먼저 노트북을 HTML로 변환한 다음 PDF 형식으로 변환하면 됩니다.

내가 구현한 단계는 다음과 같습니다: OS: Ubuntu, 아나콘다-주피터 노트북, Python 3.

1 HTML 형식으로 노트북 저장:

  1. HTML 형식으로 저장할 주피터 노트북을 시작합니다.먼저 HTML 파일에 최신 코드/노트북 버전이 저장되도록 노트북을 올바르게 저장합니다.

  2. 노트북 자체에서 다음 명령을 실행합니다.

    !jupyter nbconvert --to html your_notebook_name.ipynb

실행 후 HTML 버전의 노트북을 만들고 현재 작업 디렉토리에 저장합니다.이 현재 을 볼 수 . html 파일은 html 파일입니다.your_notebook_name.html을 대다

(your_notebook_name.ipynb-->your_notebook_name.html).

2 html을 PDF로 저장:

  1. 이제 그것을 엽니다.your_notebook_name.html파일(클릭).브라우저의 새 탭에서 열립니다.
  2. 이제 인쇄 옵션으로 이동합니다.여기서 이 파일을 PDF 파일 형식으로 저장할 수 있습니다.

인쇄 옵션에서 노트북의 일부를 선택하여 PDF 형식으로 저장할 수도 있습니다.

간단한 다이렉트 웨이 저스트

1-Jupiter 노트북 안에서 Ctrl + P를 클릭

2-PDF로 저장

웹에 있는 노트북을 pdf로 변환하는 가장 쉬운 방법은 먼저 웹 서비스 nb 뷰어에서 보는 것입니다.그런 다음 PDF 파일로 인쇄할 수 있습니다.노트북이 로컬 드라이브에 있는 경우 먼저 github 저장소에 업로드하고 해당 URL을 nbviewer에 사용합니다.

파르티자노스의 대답의 평범한 파이썬 버전입니다.

  • 터미널(리눅스, MacOS)을 열거나 Windows에서 파이썬 파일을 실행할 수 있는 지점으로 이동합니다.
  • .py 파일에 다음 코드를 입력합니다(예: tejas).파이)
import os

[os.system("jupyter nbconvert --to pdf " + f) for f in os.listdir(".") if f.endswith("ipynb")]
  • 주피터 노트북이 들어 있는 폴더로 이동합니다.
  • 테하스를 확인합니다.py가 현재 폴더에 있습니다.필요한 경우 현재 폴더에 복사합니다.
  • "http://tejas.py "를 입력합니다.
  • 완료됨

시스템에 wkhtmltopdf를 설치할 수 없는 사람들을 위해, 이 질문에 대한 대답에서 이미 언급된 많은 방법 외에 또 다른 방법은 단순히 주피터 노트북에서 HTML 파일로 파일을 다운로드하고, 그것을 HTML에서 PDF로 업로드한 후 거기서 변환된 PDF 파일을 다운로드하는 것입니다.

여기에는 PDF(.pdf) 및 HTML(.html) 형식으로 변환된 IPython 노트북(.ipynb)이 있습니다.

저는 노트북을 html로 저장하는 방법을 찾고 있었습니다. 왜냐하면 제가 새로운 주피터 설치와 함께 html로 다운로드하려고 할 때마다 항상 다음과 같은 메시지가 표시되기 때문입니다.500 : Internal Server Error The error was: nbconvert failed: validate() got an unexpected keyword argument 'relax_add_props'html만큼 것을 되었습니다. 이상하게도 HTML로 다운로드하는 것은 다음과 같이 간단합니다.

  1. 노트북에서 마우스 왼쪽 단추 클릭
  2. 드롭다운 메뉴에서 '다른 이름으로 저장...'을 클릭합니다.
  3. 그에 따라 저장

인쇄 미리 보기, 인쇄 없음, nb 변환 없음.Version: 1.0.0시도해 볼 제안입니다(물론 모든 설정이 동일한 것은 아닙니다).

~/.bashrc 또는 ~/.zshrc에 추가하여 많은 노트북을 컴파일하고 단일 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 * 
}

PDF 형식의 노트북 설치

python -m pip 설치 노트북을 pdf 형식으로 pyppeteer 설치

사용하세요

nbconvert와 함께 사용할 수도 있습니다.

jupyter-nbconvert --HTML filename.ipynb를 통해 PDF로 변환합니다.

그러면 filename.pdf라는 파일이 생성됩니다.

또는 pip 노트북을 PDF 형식으로 설치합니다.

HTML을 통해 노트북 jupyter-nbconvert-PDF로 PDF 생성

제안된 다른 접근 방식:

  1. HTML 파일에서 '인쇄한 다음 PDF로 저장'을 선택하면 경계 모서리가 손실되고 구문 강조, 플롯 트리밍 등이 수행됩니다.

  2. 일부 다른 라이브러리는 오래된 버전을 사용할 때 손상된 것으로 나타났습니다.

솔루션:*.ipynb의 *.html 버전을 *.pdf로 변환하는 온라인 변환기를 사용하는 것이 더 좋고 번거롭지 않은 옵션입니다.

단계:

  1. 먼저 Jupyter 노트북 인터페이스에서 다음을 사용하여 *.ipynb를 *.html로 변환합니다.

File > Download as > HTML(.html)

  1. 새로 만든 *.html 파일을 여기에 업로드한 다음 HTML to PDF 옵션을 선택합니다.

  2. 이제 PDF 파일을 다운로드할 준비가 되었습니다.

  3. 이제 .ipynb, .html 및 .pdf 파일이 있습니다.

저는 아직 pdf를 직장에 보낼 수 없습니다.서류상으로는 라텍스를 사용할 수 있어야 한다고 되어 있어요. 그래서 아마 제 라텍스가 작동하지 않는 것 같아요.

$ 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' <type 'unicode'> was specified.

하지만, HTML은 '슬라이드'를 사용하여 잘 작동하고 아름답습니다!

$ ipython nbconvert --to slides myfile.ipynb
...
[NbConvertApp] Writing 215220 bytes to myfile.slides.html

2014-11-07 금요일 업데이트:IPython v3 구문은 다르며, 더 단순합니다.

$ ipython nbconvert --to PDF myfile.ipynb

모든 경우에, 제가 'pdflatex' 라이브러리를 놓친 것 같습니다.저는 그것을 조사하고 있습니다.

PDF로 된 노트북이라는 도서관이 있습니다.pip install notebook-as-pdf.

라이브러리가 설치되면 '파일' 탭의 '다른 이름으로 다운로드' 옵션에서 'HTML을 통한 PDF(.pdf)'를 찾을 수 있습니다.

파일>다른 이름으로 다운로드>HTML을 통한 PDF(.pdf)

enter image description here

Ctrl+P 사용

  • 셀이 많은 경우 옵션이 제대로 작동하지 않을 수 있습니다.

  • 또한 페이징도 제대로 되지 않을 것입니다.독자들이 읽고 이해하는 것을 훨씬 더 어렵게 만듭니다.

저는 이 방법이 여기에 제시된 다른 옵션에 비해 매우 직관적이고 빠르고 더 낫다는 것을 알게 되었습니다.

주피터 노트북을 PDF 형식으로 내보내는 방법은 아래와 같이 4가지가 있습니다.

PDF로 인쇄

주피터 노트북 앱에서 내보낼 노트북을 열고 웹 브라우저 옵션에서 인쇄를 선택하십시오.옵션이 있어야 합니다.Save as PDF이것은 가장 간단한 접근법입니다.

주피터를 사용하여 PDF로 내보내기

주피터 노트북에서 PDF를 직접 내보낼 수 있는 옵션이 있습니다.클릭File->Download as->PDF via LaTeX또는PDF via HTML이 솔루션은 다음을 사용합니다.nbconvert후드 밑에 있는 공구작동하려면 추가 패키지를 설치해야 합니다. 그렇지 않으면500: Internal Server Error 부탁드립니다.nbconvert 자세한 내용은 설치 설명서를 참조하십시오.

3. nbconvert

도구인 명령줄을 .nbconvert모든 추가 패키지가 설치되어 있다고 가정하면 변환은 매우 간단합니다.

jupyter nbconvert --to webpdf --allow-chromium-download your-notebook-file.ipynb

--allow-chromium-download처음 사용할 때만 필요합니다.

Mercury를 사용한 내보내기

노트북 공유를 위한 오픈 소스 프레임워크가 있습니다.노트북을 대화형 문서(코드를 숨길 수 있음)로 변환합니다.Mercury사용자는 위젯 값을 조정하고 새 매개 변수로 노트북을 실행할 수 있습니다.결과 노트북은 PDF(또는 HTML) 파일로 다운로드할 수 있습니다.

제가 생각하는 가장 간단한 방법은 'Ctrl+P' > 'pdf'로 저장하는 것입니다.바로 그겁니다.

다른 사람들이 언급한 것처럼 주피터 노트북을 PDF 또는 HTML 형식으로 변환하는 가장 간단한 방법 중 하나는 Google Colab을 사용하는 것입니다.Google Colab을 사용하려면 Google 계정이 필요합니다.유튜브에서 노트북을 PDF나 HTML로 변환하는 방법을 보여주는 비디오 튜토리얼도 있습니다.

주피터 노트북에서 PDF로

  1. 을 주피노에다업에 합니다.content폴더를 검색할 수 있습니다.

  2. 아래 코드를 사용하여 세션에서 textlive를 업데이트합니다.

    !sudo apt-get install texlive-xetex texlive-fonts-recommended texlive-plain-generic

  3. 아래 코드를 사용하여 nbconvert를 실행합니다.

    !jupyter nbconvert --to pdf "/content/your_notebook_here.ipynb"

  4. 이제 변환된 PDF를 로컬 컴퓨터나 Google Drive에 다운로드할 수 있습니다.

주피터 노트북에서 HTML로

  1. 을 주피노에다업에 합니다.content폴더를 검색할 수 있습니다.

  2. 아래 코드를 사용하여 nbconvert를 실행합니다.

    !jupyter nbconvert --execute --to html "/content/your_notebook_here.ipynb"

  3. 이제 변환된 HTML을 로컬 컴퓨터나 Google Drive에 다운로드할 수 있습니다.

언급URL : https://stackoverflow.com/questions/15998491/how-to-convert-ipython-notebooks-to-pdf-and-html

반응형