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

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



답변

LaTeX가 설치되어있는 경우 파일 -> 다른 이름으로 다운로드 -> LaTeX (.pdf)를 통해 PDF를 사용 하여 Jupyter 노트북에서 직접 PDF로 다운로드 할 수 있습니다 . 그렇지 않으면 다음 두 단계를 따르십시오.

  1. HTML 출력의 경우 이제 IPython 대신 Jupyter를 사용하고 파일 -> 다른 이름으로 다운로드 -> HTML (.html)을 선택 하거나 다음 명령을 실행해야합니다.

    jupyter nbconvert --to html notebook.ipynb
    

    그러면 Jupyter 문서 파일 notebook.ipynb가 html 출력 형식으로 변환됩니다.

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

  2. html 파일 notebook.html을 notebook.pdf라는 pdf 파일로 변환하십시오. Windows, Mac 또는 Linux에서 wkhtmltopdf를 설치 하십시오 . wkhtmltopdf는 WebKit을 사용하여 html을 pdf로 변환하는 명령 줄 유틸리티입니다. 링크 된 웹 페이지에서 wkhtmltopdf를 다운로드하거나 많은 Linux 배포판에서 해당 저장소에서 찾을 수 있습니다.

    wkhtmltopdf notebook.html notebook.pdf
    

원본 (현재 거의 사용되지 않음) 개정 : IPython 노트북 파일을 html로 변환합니다.

ipython nbconvert --to html notebook.ipynb


답변

로부터 문서 :

다른 사람에게 노트북의 정적 HTML 또는 PDF보기를 제공하려면 인쇄 단추를 사용하십시오. 그러면 운영 체제의 기능을 사용하여 PDF로 인쇄하거나 웹 브라우저의 ‘저장’옵션을 사용하여 파일에 저장할 수있는 문서의 정적보기가 열립니다 (일반적으로 이렇게하면 html 파일과이라는 디렉토리가 모두 생성됩니다. 필요한 모든 스타일 정보를 포함하는 notebook_name_files 옆에 있으므로이를 공유하려면 기본 html 파일과 함께 디렉토리를 보내야합니다.


답변

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

다음이 작동합니다.

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

IPython 최신 버전을 사용하는 경우 인쇄보기를 사용하지 말고 일반 인쇄 대화 상자를 사용하십시오. 크롬에서 그래프 비잉 컷은 알려진 문제이며 (크롬은 일부 인쇄 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에서 추출 된 숫자만큼 (tex) 파일을 작성해야합니다. 예, 이것이 분명하지 않다는 것을 알고 있으며 아마도 변경 될 것이므로 문서가 없습니다 …

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

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

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

난 그냥 지적합니다 @jdfreder (GitHub의 프로파일) TEX / PDF / 스핑크스 수출에 노력하고이 글을 쓰는 시점에서 ipynb 파일에서 PDF를 생성하는 전문가입니다.


답변

또한 --execute출력을 얻기 위해 플래그를 전달하십시오.

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

가장 좋은 방법은 버전 제어를 위해 출력을 노트북 외부에 두는 것입니다. 버전 제어 하에서 IPython 노트북 사용을 참조하십시오.

그러나 전달하지 않으면 --execute출력이 HTML에 표시되지 않습니다. 터미널에서 .ipynb Jupyter Notebook을 실행하는 방법을 참조하십시오 .

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

Jupyter 4.4.0에서 테스트되었습니다.


답변

시스템에 wkhtmltopdf 를 설치할 수없는 사용자 를 위해이 질문에 대한 답변에서 이미 언급 한 다른 방법 중 하나는 jupyter 노트북에서 파일을 html 파일로 간단히 다운로드하여 HTML로 PDF로 업로드 한 다음 다운로드하는 것입니다. 거기에서 변환 된 pdf 파일.

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


답변

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


답변

문서에 수학, 과학적 공식이있는 경우이 답변 만 유용합니다. 당신이 그들을 가지고 있지 않더라도 그것은 잘 작동합니다.

GUI 방식

  • jupyter 노트북을 엽니 다
    jupyter 노트북을 엽니 다
  • 파일> 다른 이름으로 다운로드> LaTeX를 통해 HTML 또는 PDF로 이동합니다. 파일> 다른 이름으로 다운로드> LaTeX를 통해 HTML 또는 PDF로 이동합니다.

  • 그런 다음 다운로드 폴더에서 파일을 확인하십시오. 추신 : PDF를 컴파일하는 동안 LaTeX에 오류가 있으면 실패합니다. 이 경우 HTML 파일을 다운로드 한 다음 http://webpagetopdf.com/ 또는 기타 유사한 서비스를 사용하여 HTML을 PDF로 변환하십시오.

명령 줄 방식

  • 터미널 열기
  • jupyter 노트북이 포함 된 폴더로 이동합니다.
  • “jupyter nbconvert –to pdf your_jupyter_notebook.ipynb”를 입력하십시오. 추신 : 실패하면 Yogesh의 답변을 시도하십시오.