KTUG마당은 KTUG를 방문하는 모든 이용자가 대화를 나누고 소식을 전하는 곳입니다.

  • 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
  • Team Blog의 글을 이곳 게시판의 "정보글"로 모았습니다. Team blog는 기고자가 올린 글에 질문과 답을 받는 부담을 줄이기 위하여 댓글을 허용하지 않았습니다. 그러나 이곳 게시판으로 모으면서 댓글을 달 수 있습니다. 게시물을 작성하실 때 댓글을 원하지 않으시면 댓글을 허용하시지 않으시기를 바랍니다. 또한 불필요한 소모성 댓글을 달지 않도록 주의하여 주시기를 바랍니다.
  • TeX과 관련된 질문이나 답변은 QnA 마당을 이용하십시오. TeX과 관련된 질문은 지웁니다
  • MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
  • 최근 스팸글의 등록 빈도가 높아 졌습니다. 이를 막기위하여 짧은 시간내에 다시 글이 등록되는 IP를 막거나, 광고글을 막기위하여 금지어로 .com, .net등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
  • 사용하는 편집기를 스마트에디터에서 CKeditor로 변경하였습니다. 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한줄을 비웁니다. 글줄만 바꾸려면 shift-enter 를 누르시면 <BR>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
@echo off
rem convert bitmap file to pdf using jbig2 format
rem It can be dramatically decrease file size.
rem But only bi-level file ^^
rem 
rem (c)likesam 2011-09-09

gm convert %1 %~n1.pbm
jbig2 -s -p %~n1.pbm
c:\bin\python27\python -u pdf.py output > %~n1.pdf 
del %~n1.pbm output.*
dir %~n1.*

goto :end

Windows에서 jbig2를 이용한 PDF 만들기

2011-07-09 샘처럼
http://www.ktug.or.kr/xe/index.php?document_srl=41934 에서 trackback
jbig2를 이용하여 흑백문서를 압축하고 이를 pdf로 만들면 매우 작은 크기의 문서를 만들 수 있다.
이를 단계별로 나누어 보면
 - 그림을 jbig2로 재압축
 - 압축한 그림을 pdf로 만들기
의 두단계로 나누어 생각하여 볼 수 있다.
그런데 이러한 작업은 linux에서는 쉽게 되지만, windows에서는 실행화일 구하기 부터 어려움을 겪게 된다. 이를 하나 하나 풀어서 해결하여 보자.
1. 그림을 jbig2로 압축하기
> jbig2 -p -s xxx.png

jbig2실행화일만 있으면 쉽다. 그런데 jbig2 실행화일은 어디서 구할까?

texlive2010이 설치되어 있으면, 그 안에 들어가 있다. 재미있게도 Linux용에는 없지만 윈도우용에는 들어있다. ( 이 한가지만으로 windows가 Linux 보다 사용성 측면에서 우월하다고 생각하여도 된다. ^^ ) 그런데, TeXLive에 들어 있는 jbig2는 연결된 라이브러리가 부족한지 여러가지 화일 포맷을 지원하지 못한다. 그러므로, 별도의 누군가가 만들어준 실행화일을 구하는 편이 좋다.

http://soft.rubypdf.com/software/windows-version-jbig2-encoder-jbig2-exe 에 들어가 보면, 감사하게도 실행화일을 만들어 두었으며, 그림 포맷지원도 꽤 충실하여 보인다.

이것을 사용하여 봐도 좋지만, GraphicsMagick를 이용하여 아래와 같이 하는 방법도 좋은 방법으로 생각한다.

  > gm convert test.xxx test.pbm
  > jbig2 -s -p test.pbm

여기까지 이상이 없다면, output.0000 , output.sym 과 같은 화일을 얻을 수 있다.
2. jbig2화일을 pdf로 만들기.
2-1 pdftex을 이용하여 만들기.
  http://www.ktug.or.kr/xe/index.php?document_srl=41828 를 보라.

2-2 pdf.py를 이용하여 만들기.

이를 위하여 먼저 python을 컴퓨터에 설치한다.  다음 pdf.py를 구한다. http://github.com/agl/jbig2enc 에서 pdf.py만 가져온다. (여기가 공식적인 배포처이다.) 그리고 실행하여 본다.

  > c:\bin\python27\python -u pdf.py output > test.pdf

  test.pdf가 만들어 졌다. 그런데 test.pdf를 보려고 하면 pdf화일이 잘못 만들어져 있다는 이야기가 나온다. (물론 windows에서만 이렇다. Linux에서는 잘된다.  이글을 보시던 어떤분께서는 "windows에서는 안되요?"과 같은 반응을 보이셨다고 한다. 여기서 부터 windows가 Linux보다 사용자 친화성에 우월하다는 것은 취소다. ^^ ) 그런데, 위의 nomos님의 글에서는 pdf.py만 있으면 아주 쉽게 된다고 하셨지만, 문제는 이 pdf.py가 windows에서만 정확하게 화일처리를 하지 못한다는 문제가 있다. 그런데 win32용으로 패치한 것을 구하기가 쉽지 않다. (물론 python을 잘 하시면 직접 고쳐서 사용하셔도 무방하다.)

 여기까지 하여 본 후, 이런 방법도 생각하여 볼 수 있다.

windows

jbig2 실행화일 쉽게 구할 수 있음.

pdf.py 안됨.

Linux

jbig2 실행화일을 어렵게 만들수 있음. 

python은 기본설치되어 있고, pdf.py도 이상없음. 


 그러므로, windows 에서 jbig2까지 처리하여 output.*를 만들고, 이를 linux로 보내서 pdf로 만든 후, 다시 가져오는 방법도 생각하여 볼 수 있지만, 뭔가 배보다 배꼽이 더 커보이지 않는가?

 잘 찾아 보면, 인터넷의 어딘가 숨어 있는 win32 patch된 pdf.py를 구할 수 있다. 이 pdf.py를 구하는 것을 90년대 후반처럼 인터넷 검색대회를 하여 볼까도 생각하여 봤지만, 이곳의 Team blog는 답글을 달 수 없기에, 아래에 정답을 올려둔다.

 아까 jbig2.exe를 제공하여준 rubypdf.com에 win32 patch된 pdf.py가 숨어 있다. 여기에서 실행화일을 가져오면 되고, 구 버전이라고 표시해둔 여기에 pdf.py가 숨어 있다. (물론 linux, mac 등에서는 이런 고생을 할 필요가 없다. 이런 고생은 windows사용자이기 때문에 겪는 것이다. 이 글을 읽고 계신 분들은 화일이 어디 숨어 있는지 알려드렸지만, blog에 자신이 patch하여 두었다고 이야기한 pdf.py를 꼭꼭 숨겨두신 이유를 아직도 알지 못한다.)

3. 정리

자 그러면 필요한 것은 다 구하였다. Graphicsmagick , jbig2.exe, python, pdf.py 를 이용한 batch화일도 하나 만들어 보자. 이 Blog화일을 복사하여 bitmap2pdf-jbig2.bat 과 같은 이름으로 화일을 만들면 된다. (아직 이해하시지 못한 분들을 위하여 이 설명문이 batch화일이다.) 여러개의 화일 처리등은 windows에서 사용에 필요한 고리는 모두 가지고 있으므로, 이 화일을 확장하여 여러개의 화일을 처리하는 것은 그다지 어렵지 않을 것이다. 

  그러면 이것으로 Linux, mac에서는 아주 쉽게 되지만 windows에서는 쉽게 되지않는, jbig2를 이용한 pdf화일 만들기에 대한 불친절한 삽질기를 마친다.

:end
번호 제목 글쓴이 날짜 조회 수
공지 2019 한국텍학회 제12차 정기총회 및 학술대회 [2] yihoze 2019.01.04 37418
공지 KTUG 사설저장소 브라우저 베이드프즈 2017.07.16 40823
공지 장애 복구 안내 [9] 관리자 2017.05.04 43341
공지 TeX Live 2016 설치 안내 [7] 관리자 2016.06.05 77108
266 noweb, dot, 그리고 LaTeX을 위한 dot2tex 양사장 2011.07.28 24732
265 상용로그표 : 루아텍 버전 DohyunKim 2011.07.14 3179
264 상용로그표 file karnes 2011.07.13 3090
263 Right to Left DohyunKim 2011.07.12 2055
» windows에서 jbig2을 이용한 pdf만들기 file 샘처럼 2011.07.09 39575
261 XeLaTeX 한글 문서에서 한자와의 베이스라인 맞추기 karnes 2011.07.06 3371
260 \unexpanded 와 etoolbox 패키지 DohyunKim 2011.07.05 2186
259 hcrnumbers를 oblivoir enumerate에서 쓰기 file karnes 2011.06.29 2444
258 함초롬의 nalt 속성을 이용해보자 file DohyunKim 2011.06.29 2313
257 \XeTeXinputnormalization DohyunKim 2011.06.27 2166
256 jbig2 사용법 file DohyunKim 2011.06.22 2878
255 graphicx 패키지 안 쓰고 이미지 삽입하기 DohyunKim 2011.06.22 2862
254 $$ 를 쓸까? \[ 를 쓸까? file DohyunKim 2011.06.21 2154
253 파이 구하기: 시각화 버전 file karnes 2011.06.18 2584
252 난수로 괘를 뽑아보았다 file karnes 2011.06.15 2310
251 몬테카를로 기법으로 파이 구하기: 정수 연산 버전 DohyunKim 2011.06.15 2696
250 "a unit of 65536" karnes 2011.06.14 2190
249 \pdfuniformdeviate file DohyunKim 2011.06.13 2304
248 문자의 숫자 코드, 숫자의 문자 코드 DohyunKim 2011.04.21 3932
247 하단 면주에 쪽번호 위치 설정하기 에드 2011.06.10 3444



XE Login