인쇄용 CSS 한 장 붙여 블로그 출력 품질 고친 개발자, 코드블록 페이지 나눔은 미해결
- 브렌넨 퍼스가 자기 블로그에 @media print 스니펫을 직접 붙여 인쇄 품질을 고쳤고, 코드를 그대로 가져다 써도 된다고 공개함
- 스니펫은 noPrint 클래스로 헤더를 인쇄에서 숨기고 onlyPrint로 저자 표기를 인쇄물에만 노출하며, 본문 12pt, h2 14pt, h1 16pt로 글자 크기를 고정함
- 흑백 출력에서 링크가 회색으로 흐려지는 문제는 인쇄 시 color: black !important로 덮어 해결함
- 코드블록은 테두리를 3px 검정으로 바꾼 정도라 페이지 경계에서 쪼개지지 않고 한 덩어리로 나오는 문제가 남았고, 저자가 해결책을 구함
- 토론에서 차량 매물 사이트가 React 재설계 후 인쇄가 깨지자 UX 디자이너와 개발자가 몰래 며칠간 CSS만 고쳤고, $29,000짜리 차를 사는 사용자가 매물 페이지를 프린트해 나란히 비교한다는 사례가 나옴
Hacker News opinions
요즘 마지막으로 프린트한 게 언제인지 기억도 안 남. 기사 아카이브용으로 pdf 뽑는 정도지.
난 클로드한테 받은 복잡한 계획을 프린트해서 다른 자리에서 손으로 메모하고 고쳐서 다시 시키는데, 웹사이트 인쇄 자체는 필요를 잘 못 느끼겠더라.
난 논문 읽을 때 가끔 뽑아. 화면보다 방해가 없고 눈이 편해. 책상에 놓여 있으니까 결국 읽게 되고.
예전에 차량 매물 사이트에서 일했는데, 실제 사용자들이 매물 페이지를 프린트해서 부엌 테이블에 펼쳐놓고 비교한다고 계속 말해줬음. React로 리디자인한 뒤 인쇄가 완전히 깨졌고 불만이 쏟아졌는데 우선순위가 낮아서 내가 UX 디자이너로서 개발자 한 명이랑 몰래 며칠 CSS만 고쳤다. 2만9천 달러가 큰돈인 사람들이 차 살 때는 진짜 꼼꼼하게 뽑아본다.
인쇄는 안 해도 기사 아카이브용 pdf는 많이 만든다. 리더 모드도 깨지고 일반 인쇄도 안 되는 사이트는 답답함. 최근 만든 앱 두 개는 오프라인 인쇄 뷰가 아예 요구사항이었어. 클립보드에 명단 들고 서명 받는 자리나 회의에서 종이를 들고 가는 상황은 아직 흔해.
그거 진짜 공감. 계약서나 NDA 때문에 젖은 서명 하라고 하면서 정작 스캔본 이메일로 받는 그 모순.
지금 쓰는 게 안드로이드 픽셀 17이랑 크롬북인데 프린터 드라이버가 끔찍하게 기본형임. 상태도 못 보고 설정할 것도 없고 인쇄 대화상자에 파라미터가 다섯 개 정도. 2011년 HP 프린터를 바꾸면서 알았는데 리눅스 서브시스템 없이는 양면인쇄도 제대로 안 됨.
크롬북 인쇄는 그냥 CUPS에 UI만 더 나쁜 거임. PPD 직접 넣어서 수동 설정하면 되는데 귀찮은 것뿐이야. 외부 필터가 필요한 PPD는 아예 안 돌아가지만.
무한 스크롤 콘텐츠는 인쇄를 의도적으로 막아둔 것 같아. 슬랙이나 디스코드 대화를 pdf로 내보내고 싶은데, 슬랙 부팅 메시지에 '이 슬랙을 인쇄하기 전에 환경을 생각하세요'라는 문구가 있더라.
솔직히 우선순위는 낮음. 시간이 한정돼 있으면 화면 UX랑 접근성에 쓰겠다. 티켓이나 인보이스처럼 pdf를 따로 만드는 걸 대체하는 데서는 의미가 있지.
그래서 난 처음부터 인쇄되게 만든다. '이거 pdf로 다운로드되게 해주세요' 요구를 미리 없앨 수 있고, 헤드리스 브라우저로 인쇄하면 pdf 생성 라이브러리에 맞춰 마크업을 제한할 필요도 없어.
요즘은 정교한 pdf 티켓이 QR 코드 하나로 밀려나는 추세야. 최소한의 웹페이지에서 인쇄하거나 왓츠앱으로 그냥 보내기도 하고.
CSS에서 mm나 cm 단위 쓸 수 있음. 인쇄 밖에서는 저해상도 기기에서 결과가 이상하게 나올 수 있지만, 페이지 나눔 전용 속성도 따로 있어.
웹사이트는 일단 쓸 수 있어야 하는 거 아님? 이 사이트 폰으로 열어봐라.
나도 열어봤는데 잘 읽히던데, 어떤 문제였어?
가장 흔한 건 무조건 큰 여백을 강제하는 거야. 전체화면 기준으로 만든 티가 남. 인쇄 대응을 하면 그런 문제도 같이 고쳐지긴 함.
장바구니는 진짜 자주 프린트하게 된다. 어떤 offer를 받을지 결정하는 사람들이 종이를 보거든. 근데 99%가 인쇄하면 쓰레기처럼 나와. 블로그면 아카이브용으로 볼 사람이 있으니 decent하게 나오는 게 나쁘지 않고, 그렇게 어렵지도 않아.