python 에서 html 를 pdf 로 변환 하 는 몇 가지 방법

3392 단어 pythonhtmlpdf
HTML 웹 페이지 를 PDF 로 변환 하 는 것 은 많은 사람들 이 흔히 볼 수 있 는 요구 사항 이다.브 라 우 저 에서 우 리 는 브 라 우 저의'인쇄'기능 을 통 해 웹 페이지 를 PDF 로 직접 출력 할 수 있다.
하지만 홈 페이지 가 여러 개 있 으 면 처리 하기 어렵다.
바 이 너 리 소프트웨어
인터넷 에는 HTML 을 PDF 로 변환 하 는 소프트웨어 와 도구 가 많이 존재 한다.비교적 유명한 것 은 Carelib,wkhtmltopdf 가 있다.
whtmltopdf
wkhtmltopdf 는 정말 우수한 HTML 변환 PDF 도구 입 니 다.Qt 의 WebKit 렌 더 링 엔진 을 통 해 HTML 문 서 를 PDF 문서 나 그림 으로 내 보 냅 니 다.

기능 이 매우 완벽 하지만 사용 하 는 렌 더 링 엔진 은 Qt 의 WebKit 이기 때문에 ES6 의 자바 스 크 립 트 코드 를 지원 할 수 없 기 때문에 ES6 로 작 성 된 HTML 페이지 가 실제 효 과 를 나타 내지 못 해 주 씨 는 결국 포기 하 게 되 었 습 니 다.
Carelib
Carelib 는 전자 책 관리 소프트웨어 로 각종 문서 의 변환 도 구 를 제공 하기 때문에 전자 책 변환 도 구 를 통 해 HTMl 에서 PDF 로 전환 할 수 있 습 니 다.
이것 은 모두 데스크 톱 환경 에 사용 되 는 바 이 너 리 소프트웨어 입 니 다.Python 에서 사용 하려 면 Popen()방법 으로 이 바 이 너 리 소프트웨어 의 명령 을 호출 하거나 제3자 의 패 키 징 모듈 을 사용 합 니 다.예 를 들 어 Pdfkit,pypandoc 등 제3자 모듈 은 상기 바 이 너 리 소프트웨어 를 통합 적 으로 호출 하여 Python 호출 에 편리 한 인 터 페 이 스 를 패키지 합 니 다.
순수 파 이 썬 라 이브 러 리 구현
위 에서 소개 한 Python 제3자 모듈 은 HTML 에서 PDF 로 전환 하 는 작업 을 잘 할 수 있 지만 컴퓨터 에 다른 바 이 너 리 소프트웨어 를 추가 로 설치 해 야 하기 때문에 많은 파트너 들 이 이런 호출 방식 을 좋아 하지 않 는 다.
바 이 너 리 소프트웨어 의 실현 에 의존 하지 않 고 다음 과 같은 방안 이 있 습 니 다.
xhtml2pdf
ReportLab,html5lib,PyPDF 2 등 Python 모듈 을 기반 으로 구 축 된 HTML 에서 PDF 변환 모듈 입 니 다.HTML 5,CSS 2.1,일부 CSS 3 문법 을 잘 지원 할 수 있 습 니 다.
Report Lab 모듈 을 기반 으로 한 개발 이기 때문에 중국어 지원 에 문제 가 있 을 수 있 습 니 다.그리고 개발 자의 변경 으로 모듈 의 기능 이 일부 단층 되 었 다.하지만 여전히 훌륭 한 HTML PDF 모듈 입 니 다.
weasyprint
HTML 과 CSS 에 사용 되 는 시각 화 렌 더 링 엔진 으로 HTML 문 서 를 인쇄 표준 PDF 파일 로 내 보 낼 수 있 습 니 다.
xhtml2pdf 모듈 도 이 모듈 을 사용 하여 HTML 변환 PDF 작업 을 하 는 것 을 추천 한 적 이 있다.
이 모듈 은 기능 이 매우 강하 고 효과 가 매우 뛰 어 나 지만 모듈 의 의존 항목 이 너무 많다.

주 씨 는 지금까지 윈도 컴퓨터 에 설치 에 성공 한 적 이 없습니다!
브 라 우 저 프로젝트
상기 두 가지 방안 에서 바 이 너 리 프로그램의 통제 성 이 약간 부족 하고 순 Python 이 실현 하 는 렌 더 링 분석 은 기능 적 으로 나 의존 적 으로 우호 적 이지 않다.
상기 두 가지 방안 을 처리 할 때 우 리 는 세 번 째 방식 으로 HTMl 에서 PDF 로 전환 할 수 있다.웹 자동화 테스트 의 브 라 우 저 커 널 과 Qt for Python 의 웹 엔진 을 통 해 이 루어 지 는 것 이다.
웹 자동화 브 라 우 저 커 널
Python 을 사용 하 는 파트너 들 은 자주 Selenium,pyppeter 라 는 두 웹 자동화 테스트 모듈 을 사용 하여 데이터 수집 과 웹 자동화 테스트 작업 을 한다.
이 두 모듈 은 모두 웹 페이지 를 조작 하기 위해 실제 브 라 우 저 를 구동 하 는 데 쓰 인 다.이 를 바탕 으로 저 희 는 브 라 우 저 에서 관련 API 인 터 페 이 스 를 인쇄 하여 HTML PDF 전환 기능 을 실현 할 수 있 습 니 다.
예 를 들 어 pyppeter 에서 다음 예제 에 따라 HTML 문 서 를 열 고 PDF 문서 로 변환 할 수 있 습 니 다.

Qt 웹 엔진
Qt5 에서 Qt 는 오래된 웹 키 트 대신 새로운 Chromium 커 널 을 사용 하여 웹 렌 더 링 엔진 으로 사용 합 니 다.Qt 에서 현대적 인 브 라 우 저 개발 을 할 수 있 도록 합 니 다.
Qt 의 Python 구현(PyQt 5 시리즈 와 PySide 2 시리즈)을 통 해 우 리 는 Qt 의 웹 엔진 과 관련 된 인 터 페 이 스 를 직접 호출 할 수 있 습 니 다.
그 중에서 QtWebEngineWidgets 서브 모듈 의 QWebEngineView()클래스 는 printTopdf 방법 을 제공 하여 웹 페이지 를 PDF 문서 로 인쇄 할 수 있 습 니 다.따라서 이 를 바탕 으로 PyQt 5 또는 PySide 2 를 사용 하여 HTML 변환 PDF 를 사용 할 수 있 습 니 다.예 를 들 어 다음 과 같 습 니 다.

마지막.
위 에서 주 씨 는 Python 에서 HTML 문 서 를 PDF 문서 로 바 꾸 는 3 가지 방안 을 소개 했다.모든 방안 은 각자 의 장점 과 부족 을 가지 고 자신의 수 요 를 정확하게 평가 한 다음 에 적당 한 방안 을 선택 하면 부족 한 점 을 보완 할 수 있다.
이상 은 python 이 html 를 pdf 로 변환 하 는 몇 가지 방법 에 대한 상세 한 내용 입 니 다.python 이 html 를 pdf 로 변환 하 는 데 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기