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
를 찾아 각 속성을 전체 이미지 경로(예: )로 바꾸는 것이 좋습니다 . 기본적으로 서버 페이지 기술은 이 예에서와 같이 서버를 기준으로 이미지 소스를 유지합니다 . 이러한 값의 대부분은 CSS에서 파생됩니다. 이렇게 하면 인쇄물의 이미지 문제가 해결되지만 다른 CSS 요소 세부정보는 여전히 손실될 수 있습니다.<img src=..
src
https://en.wikipedia.org/wiki/File:Uncle_Tupelo.jpg
<img src="File:Uncle Tupelo.jpg">
또 다른 방법은 wget
빠른 Perl 스크립트를 사용하는 것입니다.