lpr로 utf-8 인코딩 지원


11

lprfrom을 통해 텍스트 파일을 프린터로 보내려고 할 xterm때 내용이 인식 할 수 없을 정도로 손상되어 그 원인이 파일 인코딩으로 추적되었습니다. 대신 iconv(예 :)로 텍스트를 처리 iconv -f utf-8 -t ascii//TRANSLIT하면 파일이 정상적으로 인쇄됩니다. 내가 찾은 또 다른 제안은 문서 형식 (예 :)을 설정하는 lpr -o document-format=text/utf8것이지만 오류가 반환 lpr: Unsupported document-format "text/utf8"됩니다. 에 lpr의해 처리를 포함 하도록 명령에 별명을 지정할 수 iconv는 있지만 CUPS/ lpr시스템 에서 기본 utf-8 지원을위한 더 일반적인 방법이 있습니까?

편집 : 내 OS는 데비안 8이고 내 창 관리자는 openbox(데스크톱 환경 없음)입니다. MacOS X 및 Debian7 / Gnome3 시스템에서도 문제없이이 파일을 인쇄 할 수 있습니다.

현재 시스템에서 문자 인코딩을 UTF-8에서 ASCII로 변경 한 후에도 줄 바꿈 문자는로 간주되지 않으므로 lpr줄이 함께 연결되어 용지 여백에 도달 할 때까지 인쇄됩니다. iconvMacOS X에서 레코딩 및 음역을 사용한 후에도 인쇄가 여전히 정상적으로 작동합니다 (따라서 줄 바꿈 문제는 현재 시스템에만 적용됩니다).


1
CUPS에 대한 지식은 많지 않지만 문서 유형을 감지하는 방법 (출력시 MIME 유형 사용)과 대상 프린터를 변환하는 방법에 대한 규칙을 포함해야합니다. 여기에는 래스터 화, Postscript 또는 PCL 파일 형성 등이 포함됩니다. 프린터 타입? 시도 했습니까 a2ps? utf-8을 시도 할 때 실제로 어떤 인코딩이 출력에 사용됩니까? (제 생각 엔 그건 iso-8859-1)
NETCH

@Netch : a2ps필터 를 지적 해 주셔서 감사합니다 . 나는 그것을 몰랐다. 해당 프린터는 HP4650 스캔 레이저 프린터입니다. 에 의해 사용되는 인코딩을 어떻게 결정할 수 CUPS있습니까? 입력과 구별 할 수없는 실제로 인쇄 된 문자에는 그리스어 대문자 감마, 세 딜라가있는 대문자 C, 곡절이있는 o, 라틴어 대문자 W 및 T가 포함됩니다. 용지 여백에서 출력이 잘립니다.
user001

인코딩을 적용한 것 같습니다 iso-8859-1. 테이블을 사용하여 쉽게 확인할 수 있습니다. 일부 검색에서는 lpr -o document-format='text/plain;charset=utf-8'원하는대로 인쇄하면 충분하다고 제안 하지만 CUPS 설치 기본값은 변경되지 않습니다.
Netch

답변:


1

paps도 마찬가지입니다.

#!/bin/bash
#This script converts UTF-8 txt to postscript
paps | lpr
Sometimes you need to specify the prinqueue;

#!/bin/bash
# This script converts UTF-8 txt to postscript
paps | lpr -P lj

Paps는 컵의 문자판보다 훨씬 나은 작업을 수행합니다.


답장을 보내 주셔서 대단히 감사합니다. 나는 알고 있어요 paps및 내에서 기본 지원의 가능성이 있다면 알고 싶어 CUPS그 외부 종속성이 호출 할 필요가 없다 그래서.
user001

1

HPLIP를 외부 종속성으로 간주하는지 모르겠지만 CUPS에서 직접 공식 드라이버 권장 사항을 소개합니다.

CUPS 프린터 드라이버 : HP4650

Debian Repo : HPLIPS 의 패키지 정보는 다음과 같습니다 .

따라서 시스템은 paps와 같은 도구를 사용하지 않고 문서를 래스터 화하는 방법을 모른다고 말합니다. hplip 패키지를 설치하고 http://localhost:631권장 드라이버를 사용 하도록 구성하면 문제가 해결됩니다. 자세한 내용 은 DebianWikiSystemPrinting 항목을 참조하십시오.


감사. 이미 시스템에 최신 버전의 HPLIP가 있습니다. 이것을 지정할 수있는 곳을 찾으려고 http://localhost:631했지만 드라이버 선택에 대해 아무것도 찾을 수 없었습니다.
user001

읽기 4 장
eyoung100


0

다음과 같은 것이 있어야합니다.

text/plain              application/postscript  33      texttops

당신의 /etc/cups/mime.convs파일. 그래서해야 할 일은 텍스트 필터를 수정하는 것이라고 가정합니다. 데비안 /usr/lib/cups/filter/texttops에서는 texttopdf 필터와 pdf2ps명령 을 사용하는 쉘 스크립트 인입니다 . texttopdf / pdf2ps 호출을로 대체하려고 시도 할 수 paps있지만 인수는 동일하지 않습니다. 최소값 (텍스트가 표준 입력으로 제공되고 ps 결과가 표준 출력으로 전송되므로)은 다음을 포함하는 행입니다.

paps

그러나 다음과 같은 옵션을 추가 할 수 있습니다.

paps --font='Monospace 10'

참고 : 나는 시도하지 않았습니다. 그냥 추측 ...

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.