Firefox처럼 인쇄

Firefox처럼 인쇄

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

grepvar 에 가서 요소를 $HTML찾은 <img src=..다음 모든 src속성을 https://en.wikipedia.org/wiki/File:Uncle_Tupelo.jpg. 기본적으로 서버 페이지 기술은 이 경우와 같이 이미지 소스를 서버 상대 경로로 유지합니다 <img src="File:Uncle Tupelo.jpg">. 이러한 값의 대부분은 CSS에서 파생됩니다. 이렇게 하면 인쇄물의 이미지 문제가 해결되지만 다른 CSS 요소 세부정보는 여전히 누락될 수 있습니다.

대안은 wget빠른 Perl 스크립트를 사용하는 것입니다.

관련 정보