ubuntu 한글 인쇄 a2ps

auditory의 이미지


ubuntu linux에서 한글이 포함된 텍스트 파일을

a2ps를 이용해서 인쇄하려면 어떻게 해야할까요?

a2ps가 아니더라도 필요한 기능은

1. 한글인쇄
2. a2ps 수준의 page layout 조정기능 (여러컬럼, landscape, portrait등)
3. 폰트크기
4. 라인넘버
5. 구문강조..

우선순위대로 적은것이고요, 기능이 전부는 없더라도 최소한 1,2번은 가능한

솔루션이 있을까요?

bushi의 이미지

utf-8 문서는 어떻게 하는지 모르겠고,
euc-kr 문서는 --encoding=euc-kr 로 그럭저럭 됩니다.

fedora8

LANG=C a2ps ko.euckr.txt --encoding=euc-kr -o ko.euckr.ps

OTL

auditory의 이미지

--encoding=euc-kr 

되는거는 fedora 에서의 패치라고 알고 있습니다..

http://kldp.org/node/61028 에 관련 글들이 있는데,

아직까지 별다른 해결책이 없는것 같네요.

JN의 이미지

내용삭제.

auditory의 이미지

안타깝게도 ubuntu의 경우 encoding 디렉토리에 euc-kr이 없습니다.

a2ps --list=encoding

해보면 나오는 리스트에도 euc-kr은 없고요. 대신 euc-jp는 있습니다..

궁금한게

/usr/share/a2ps/encoding/euc-kr.edf 

이 존재하고,
/usr/share/a2ps/encoding/encoding.map 

파일에 관련 내용이 적절히 있으면 한글이 될 수도 있을까요??

혹시 이 두 파일을 첨부해주실수 있으시면 테스트해보고 싶습니다. ^^

JN의 이미지

아 죄송합니다. 제가 좀 착각했습니다.

euc-kr.edf 파일은 제가 이전에 추가해 놓았던 거 같습니다. 이게 제가 임의로 수정한건지 다른 분걸 가져온건지 기억이 나질 않는군요. 일단 파일을 보니까 euc-jp.edf파일을 참고해서 수정한 것인 듯 합니다. 첨부한 파일을 /usr/share/a2ps/encoding 에 풀어놓은 후, ttf-baekmuk과 cmap-adobe-korea1 패키지를 설치하면 됩니다.

euc-kr.edf파일을 수정하면 백묵글꼴이 아닌 다른 한글 글꼴을 쓸수도 있을 거 같습니다.
----
추가:
그런데 굳이 a2ps 또는 이것과 유사한 프로그램을 써야 하는 상황이 아니라면, gedit 으로 ps 파일을 만드는 것도 좋습니다. 요구하시는 기능정도라면 gedit로도 충분할 듯 싶군요. gedit로 만들어진 ps파일은 글꼴을 내장하고 있기 때문에 여러모로 편리합니다.

여러칼럼 출력 출력의 경우, 인쇄 대화상자에 해당 기능의 항목이 있기는 한데, 아마 아직 구현이 덜 되었는지 활성화되어 있지 않군요. 이 기능은 mpage라는 프로그램을 사용하시면 됩니다.

댓글 첨부 파일: 
첨부파일 크기
Binary Data a2ps_euckr.tar.gz2.42 KB
auditory의 이미지


올려주신 파일로 문제를 해결했습니다.
오랫동안 고민하던 문제인데 이렇게 쉽게 해결이 될줄이야..
대단히 감사합니다.. ^^

==

그런데 아래글의 답글에도 썼지만
mpage는 결국 여러장을 모아서 한장에 인쇄하겠다는거 아닌가요?
"다단편집"과 "한장에 여러페이지 인쇄"는 다른거 아닌가요?

JN의 이미지

아!!! 그런 용도라면 gedit+mpage 조합은 너무 번거로와서 적당하지 않겠군요 :)

jaejunh의 이미지

예전에는 nh2ps h2ps등을 썼습니다. 그래서 좀 찾아보니, 좀 불편하기는 해도 UTF8은 프린트 할수 있겠더군요.

기본은 다음과 같이 쓰시면 됩니다.

u2ps test.html --output /dev/stdout | psnup -n2 > print_2pages.ps

* u2ps 는 gnome-u2ps, psnup은 psutils안에 있습니다.
* 위의 방법을 간단한 shell script를 만들어서 /usr/local/bin안에 넣어서 쓰시면 될듯합니다.
심지어 그 스크립트를 nautilus-actions를 이용하여 오른쪽 버튼으로 mapping하시면 더 좋을듯 합니다.
* euc-kr은 iconv를 먼저 하시면 되고여.

auditory의 이미지

이상하네요.. u2ps는 저도 테스트해보았는데 (방금다시해보기도했구요..)

그런데 evince로 생성된 ps 파일을 보면 한글 부분은

속이 빈 네모박스로 보이던데요.. 제컴에 폰트가 안깔려있어서 그런걸까요??

==

그리고 psnup나, mpage를 쓰는 방법은
실제로 a2ps에서 여러 컬럼에 쓰는 것하고는 차이가 나는게,
짧은 단어들이 수백라인에 걸쳐있는 파일의 경우
a2ps는 가로 여백없이 여러 컬럼에 인쇄할수 있지만
psnup는 결국 일반적인 사이즈에 인쇄한 후 그걸 축소하는 거라 가로 여백이 많이 들어가게 됩니다.

물론 u2ps 돌리면서 papersize를 user가 설정한 이상한 사이즈로도 변환이 가능하다면 다른 문제지만요..

slomo의 이미지

저는 u2ps로 잘 되는데요... 왜 한글 부분이 안 보이는 걸까요?
어쨌든 *폰트가 안 깔려있어서* 그런 것은 아니고... 시스템에
기본적으로 사용하는 한글 폰트가 있을테니까요. u2ps에서
사용하는 기본 폰트 설정 때문일 수는 있을 것 같습니다.

fc-list로 글꼴을 확인하신 후에 다음처럼 옵션을 주고 해보세요.

$ u2ps sample.txt --gpfamily=UnBatang -o sample.ps

제 경우에는 옵션으로 Monospace 같은 것을 지정하면 한글 부분이 네모로
나오더군요..

u2ps가 아마도 기본적으로 Serif로 찍는 것 같은데요..
시스템 폰트 설정에 Serif가 어떻게 설정되어 있는지에 따라 그런 것은
아닐까요?

====
No one asks you for change or directions.
-- Slo-Mo, J. Krokidas

====
No one asks you for change or directions.
-- Slo-Mo, J. Krokidas

auditory의 이미지


euc-kr.edf 파일을 사용해서 문제가 쉽게 해결되나 싶더니,

만들어진 ps파일이 인쇄가 안됩니다.

evince에서는 잘 보입니다만,

lpr명령어로 직접 프린터를 보내거나, (프린터 큐에 들어가나, 그냥 먹혀버림. )
evince에서 프린트를 하거나(프린터 큐에 들어가나, 그냥 먹혀버림. )
pstopdf 명령어를 써서 화일변환을 시도하면(seg fault) 모두 안되는군요..

화면에 잘 보이는걸로 보아 문제를 거의해결한듯한데..
어느부분이 문제일까요?

JN의 이미지

ps2pdf 명령은 실제로는

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=1.pdf 1.ps

와 같은 형태의 명령을 실행하게 되는데요. 이때 ps파일이 외부의 truetype파일을 참조하는 경우 제대로 pdf파일을 생성해 주지 못하는 것 같습니다. 일단 evince에서 글자가 제대로 보이는 걸로 보아서는 gs를 위한 truetype 글꼴 설정이 아주 잘못된 거 같지는 않고요, 제가 보았을 때는 현재 설치된 gs의 버그일 거 같습니다만 어디까지나 짐작입니다.

임시 해결방법으로 아래와 같이 실행해 보시기 바랍니다.

$ LANG=ko_KR.eucKR a2ps --encoding=ko -o _tmp.ps 1.txt
$ gs -q -dNOPAUSE -dBATCH -r9600 -sDEVICE=pswrite -sOutputFile=1.ps _tmp.ps
$ ps2pdf 1.ps

이렇게 해서 만들어진 1.ps나 1.pdf 파일은 아마 문제없이 인쇄가 될 거라고 생각합니다. 이 파일들은 글자가 그림(9600dpi)으로 처리되어 있습니다. dpi는 적당히 조정하시기 바랍니다. 간단한 스크립트 파일을 만들어서 사용하시면 되겠군요.
auditory의 이미지


친절한 답변 대단히 감사드립니다.
우선 말씀하신대로 하니 잘 됩니다. 아니 잘 됐습니다.. ㅠ.ㅠ
1시간동안 이것저것 해봤는데 해보다보니 일이 꼬였습니다..

우선 처음에 말씀하신대로 하니 잘 됐습니다. 페이퍼사이즈가 letter가 기본이라
gs 옵션을 a4로 바꿔서 잘됐구요. pdf 변환까지 확인했습니다.
(ps 파일 인쇄는 못해봤는데 아마 잘 됐을것 같습니다.)

그런데.....

다시 어제 했던 그대로 a2ps, ps2pdf 를 다시 해봤더니
에러가 안나고 실행이 잘 되는겁니다..
그런데 ps파일은 인쇄가 안되고,
pdf 파일을 evince에서 보면 커맨드창에 에러메세지만 계속 냅니다.
이 pdf 파일은 윈도우 acroread 에서는 잘 보이고, 인쇄도 잘 됩니다.
***우선 여기까지해서 해결했습니다.***

여기서부터는 아침에 출근해서부터 했던 삽질입니다.

우선 새글 확인하고 바로 따라해봐서 성공했습니다.
===
그냥 확인차 어제 했던거 그대로 해봤습니다.
잘되는것 같았습니다. 이상해서 생각해봤습니다.
===
어제와 달라진 점은 어제는 ko_KR.euckr 로케일이 없었습니다.
이걸 locale-gen 하니깐 segfault 가 없어졌습니다.
그런데 이 상황에서 LANG=ko_KR.euckr 로 하니깐
ps2pdf 할때 폰트 관련 에러가 납니다. 문제는 header및footer에 찍히는
월,요일 이 한글로 나오니깐 그런것 같습니다.
그래서 LANG을 디폴트 (en_US.utf8)로 하니깐 이 문제는 해결됐습니다.

===
이 다음 해결하고 싶은건 리눅스에서 프린트를 해보는 건데,
이 상황에서 만들어진 ps 파일도 인쇄는 안됩니다.
혹시 리눅스용 acroread에서는 잘 읽힐까 싶어서
acroread를 설치했는데 (패키지로) 한글폰트팩이 있어야한답니다.
이걸다운받았는데, 패키지는 없고 따로 설치해야해서 그냥 접었습니다.

===
그래서 여기까지하고 글 올리려고 다시 확인차 글 올려주신대로 그대로 따라해봤습니다.
그런데 이번에는 답글에 올라있는대로 그대로 했더니
출력의 용지크기가 evince에서만 이상하게 나옵니다.
한줄짜리 문서면 한줄까지만 딱 보이게 용지크기가 결정됩니다.
윈도용 acrobat reader에서는 a4 사이즈로 맞게 보입니다.
evince가 뭔가 다른것에 영향을 받나 봅니다.. (acroread설치할때 등등)

==
길게 답글올렸는데,
결론적으로 어제의 문제의 원인은
ko_KR.euckr로케일이 없어서 그런것 같고,
현재 lpr로 인쇄안되고, evince로 pdf를 보는데 문제가 있지만,
evince로 ps파일은 잘 보이고,
pdf 파일은 윈도용 acrobat reader에서 잘 읽히고 인쇄됩니다.

문제해결 도와주셔서 감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.