
Wikipedia 기사를 인쇄하기 위해 CLI 스크립트를 만들었습니다.
WIKI='https://en.wikipedia.org/w/index.php?title='
TITLE=$1
PRINTABLE='&printable=yes'
SRC=$WIKI$TITLE$PRINTABLE
HTML=$1".html"
PS=$1".ps"
wget $SRC
mv index* $HTML
html2ps $HTML > $PS
lpr -P pr1444 $PS
그것은 당신이 글을 쓰면 다음과 같은 점에서 작동합니다../print Shane_Mosley
이 기사인쇄됩니다.
그러나 Firefox를 사용하는 것과 비교하면 --- 사이트를 탐색하고 메뉴에서 인쇄할 수 있습니다 --- 인쇄 결과가 열악합니다. 레이아웃이 훨씬 덜 컴팩트하고(특히 테이블) 사진이 없으며 "특이한" 문자를 처리할 수 없습니다.
그래서 내 질문은: Firefox가 "모놀리식"입니까, 아니면 실제로 복제할 수 있는 모듈식 도구로 구성되어 있습니까? 아니면 Firefox를 서버로 사용하여 명령(예: 거기로 가서 인쇄)을 제공할 수 있습니까?
그렇지 않다면 내 도구를 더 나은 방식으로 사용할 수 있는 방법이 있습니까? 아니면 결과를 향상시킬 수 있는 다른 도구가 있습니까?
답변1
당신이 발견한 바와 같이, 이 방법은 기껏해야 차선책입니다. HTML 외에도 최소한 모든 이미지와 CSS가 필요합니다. 모든 Javascript가 필요할 수도 있습니다. 그리고 나서 이 혼란을 렌더링하는 모든 작업이 있습니다.
하지만 당신에게는 좋은 소식이 있습니다.명령줄 인쇄Firefox에 설치할 수 있는 확장 프로그램입니다.
그 다음에:
firefox -print http://www.example.com/index.html
확장 문서 페이지에 더 많은 예제가 있습니다.
답변2
grep
var 에 가서 요소를 $HTML
찾은 <img src=..
다음 모든 src
속성을 https://en.wikipedia.org/wiki/File:Uncle_Tupelo.jpg
. 기본적으로 서버 페이지 기술은 이 경우와 같이 이미지 소스를 서버 상대 경로로 유지합니다 <img src="File:Uncle Tupelo.jpg">
. 이러한 값의 대부분은 CSS에서 파생됩니다. 이렇게 하면 인쇄물의 이미지 문제가 해결되지만 다른 CSS 요소 세부정보는 여전히 누락될 수 있습니다.
대안은 wget
빠른 Perl 스크립트를 사용하는 것입니다.