합리적인 자동 HTML에서 PDF 로의 변환 (UNIX / Linux 환경에서) [닫기]


16

PDF가 입력 파일과 비슷한 수준의 유사한 수준을 제공하는 Linux에서 HTML 파일에서 자동으로 PDF 문서를 생성하는 방법이 있습니까?

일종의 대화식 GUI와 달리 명령 줄 도구가 핵심입니다.

htmldoc물론 몇 가지 관련 사촌 을 시도했습니다 . 그러나이 도구들은 절망적으로 석기 시대입니다. htmldocCSS를 전혀 지원하지 않습니다. 당신은 HTML 문서 적어도이없는이 일을 많이 찾을 수 없습니다 일부 CSS 스타일을. 나는 어리석은 효과 나 사소한 장식에 대해서는 신경 쓰지 않지만, 요즘 CSS는 대부분의 레이아웃의 핵심입니다. 더 이상 6 층의 중첩 테이블을 사용하는 사람들이 많지 않습니다. 따라서 변환 도구에 CSS에 대한 이해가 없다면 "문서가 제대로 보이지 않습니다"라는 문제가 아닙니다. 그것은 최소한의 사용성 기준을 전혀 충족시키지 못할 것입니다.

일부 사람들은 Gecko 렌더링 엔진을 사용하여 PDF로 변환 할 수있는 이미지를 생성하려고 시도했지만 제안을 쉽게 할 수는 없습니다.

나는 이것을하는 좋은 상용 도구가 있다고 생각하는 데 아무런 문제가 없지만 가능한 한 노력은 자체가 오픈 소스 패키지이며 지불하지 않기 때문에 가능한 경우 오픈 소스 패키지를 찾고 있습니다.

미리 감사드립니다!

답변:


7

당신은 본 적이 wkhtmltopdf를 ? 개인적으로 얼마나 잘 작동하는지 말할 수는 없지만 정확히 필요한 것 같습니다. 이 문제와 '브라우저 자동화'솔루션을 사용하는 경우에만 화면 표시 스타일이 아닌 인쇄 스타일 시트를 선택하여 PDF가 화면에 정확하게 표시되지 않을 수 있습니다.


인쇄 스타일 시트 란 무엇입니까? CSS 세계에서 나온 가장 최신의 새로운 것들과는 연락이 없어야합니다.
Alex Balashov

새로운 것이 아니며 테이블 대신 레이아웃을 위해 CSS로 전환하면 대부분의 웹 사이트에서만 실용화되었습니다. 시도 alistapart.com/articles/goingtoprint 또는 webcredible.co.uk/user-friendly-resources/css/...을 소개합니다.
robertc

2

python-beautifulsoup과 함께 chm2pdf를 사용해보십시오.


2

XHTML2PDF 는 명령 행 스크립트와 Python 라이브러리를 모두 포함하는 Python 도구 세트입니다 (스크립트에 셸을 사용 하지 않고이를 더 큰 무언가에 포함하려는 경우). 공급 업체별 CSS 스타일을 추가하여 HTML / XHTML 및 CSS를 지원합니다. 형식화 된 출력 (예 : 페이지 번호, 단락 흐름 등)을 조정합니다.

HTML 문서를 일괄 처리하는 데 약간만 사용했지만 정상적으로 작동했으며 기능 세트가 포괄적 인 것처럼 보입니다. 매뉴얼은 데모 페이지에 숨겨져 있지만 HTML 문서에서 PDF로 변환하는 좋은 예입니다.

나는 "이전"과 "이후"예제에 대한 훌륭한 링크를 가지고 있었지만 방금 내 계정을 만들었고 스패머 만이 첫 번째 게시물에 둘 이상의 링크를 넣었습니다.


1

커맨드 라인에서 HTML 페이지에서 PNG를 생성하고 싶었습니다. 어딘가에 mozembed를 사용하여 스크린 샷을 생성하는 이 루비 스크립트 를 발견 했습니다 . 축척을 축척하지 않으려면 축척 선을 제거 할 수 있습니다.

내가 볼 수있는 유일한 문제는 페이지가 실제로 화면에 잠시 동안 나타나는 것입니다 ...


흠. 마지막 부분은 약간의 살인자 인 것 같습니다. 이것은 순수한 서버 측 백엔드로 구워 져야합니다. 디스플레이 헤드 등이 없습니다. 그것을 달성 할 수있는 방법이 있습니까?
Alex Balashov

0

dompdf 사용해보십시오 그것은 명령 줄에서 잘 작동하고 예제로는 모든 종류의 HTML에서 작동합니다.


0

PrinceXML. CSS를 잘 처리 할 수 ​​있습니다. Linux, Windows, Mac OS X 버전 사용 가능 AFAICS는 Google 문서의 PDF 출력 기술입니다. 그러나 참고 : 이것은 payware입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.