나는 PhantomJS를 사용하여 웹 페이지에서 png 이미지를 생성했으며 PDF도 생성 할 수 있으며 일반적으로 품질이 좋습니다. 이 속성은 화면 캡처라고하며 here이라고 설명합니다. 지원되는 형식은 PNG, JPEG, GIF 및 PDF입니다.
PDF로 변환하면 페이지의 텍스트가 텍스트로 유지됩니다.
몇 가지 다른 라이브러리 나 프로그램을 테스트 한 후 PhantomJS에게 가장 완벽한 솔루션을 발견했다. PhantomJS는 실제 레이아웃과 렌더링 엔진 인 WebKit을 사용합니다.
몇 가지 예가 https://github.com/ariya/phantomjs/wiki/Examples입니다. ,
생산 PDF 출력이 가능 예 :
rasterize.js rasterizes a web page to image or PDF
PhantomJS QuicStart Guide는 말한다 : 섹션 렌더링/래스터에서 과정에 도움이 다음 스크립트가 언급 위키피디아 기사 :
phantomjs rasterize.js 'http://en.wikipedia.org/w/index.php?title=Jakarta&printable=yes' jakarta.pdf
또는 프린터 준비 컨닝 페이퍼 만들 때 : 나는 몇 페이지의 PDF 생성을 테스트 페이지가 표준을 따른다면, 그것은 좋은 결과를
phantomjs rasterize.js http://www.nihilogic.dk/labs/webgl_cheat_sheet/WebGL_Cheat_Sheet.htm webgl.pdf
합니다. 텍스트는 선택 가능하고 고품질로 인쇄 할 수 있지만 일부 페이지에서는 pdf의 레이아웃이 png와 매우 다릅니다.
$ phantomjs rasterize.js 'http://windows.microsoft.com/en-US/windows/home' microsoft.png
$ phantomjs rasterize.js 'http://windows.microsoft.com/en-US/windows/home' microsoft.pdf
가 나는 또한 http://lab.simurai.com/buttons/ 시험 : 다음 명령을 사용하여 생성 된 두 개의 스크린 샷입니다. pdf와 png는 매우 동일하며 아래는 pdf의 샘플입니다.이 샘플을 사용하여 5641 픽셀 폭으로 래스터 화 한 다음 그 영역을 잘라 냈습니다. 이전 PDF 예제에서와 같이 PDF에서 텍스트를 선택할 수 있으며 텍스트는 선명합니다 (안티 앨리어싱 없음).
내가 Centos5 소스에서 컴파일에 Qt는 라이브러리와 PhantomJS를 설치하려면 먼저 시도
,하지만 행운을 설치하기
. 그리고 우분투 11.10에 그 과정이 고통이었다
나는 http://phantomjs.googlecode.com/files/phantomjs-1.7.0-linux-x86_64.tar.bz2을 다운로드
tar -xjvf phantomjs-1.7.0-linux-x86_64.tar.bz2
를 사용하여 추출 그리고 시스템의 빈 디렉토리에 실행 phantomjs 복사 : $ cp phantomjs-1.7.0-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs
및 phantomjs 준비했다 달리기.
생성 된 PDF가 좋지 않으면 Webkit을 업데이트하려고 할 수 있지만 그 결과가 충분하다고 가정합니다. PhantomJS는 업데이트주기가 뛰어나므로 적절한 시간에 버그를 수정해야합니다.
PhantomJS FAQ에도 좋은 정보가 있습니다.
왜 여전히 닫혀 있습니까 ?? 모든 질문은 이것보다 더 많은 "토론, 주장, 투표 또는 토론의 확대"를 유발합니다. –
wkhtml2pdf now can does render canvas ... wkhtmltopdf.org를 참조하십시오. wkhtml2pdf에 대한 엄지 손가락 ... 7000 + java 클래스 (대개 –