2009-07-25 3 views
8

EPUB를 통해 인쇄, PDF, Kindle/MOBI에 기술 도서를 게시합니다.소스 ASCII 파일을 JPEG로 변환

킨들은 모노 스페이스 글꼴을 지원하지 않습니다.이 글꼴은 소스 코드 목록에 유용합니다. 모노 스페이스 글꼴을 사용하는 유일한 방법은 텍스트 (Java 소스, HTML, XML 등)를 JPEG 이미지로 변환하는 것입니다. 더 구체적으로, 페이지 매김 문제로 인해 주어진 입력 ASCII 파일을 각 슬라이스가 JPEG로 바뀌어 ~ 6 줄의 조각으로 분할해야하므로 목록이 화면을 확장 할 수 있습니다. 이것은 왕의 고통입니다.

그 작업을 수행하는 나의 현재 메커니즘을 포함한다 :

  1. 가있는 파이프에있는 파이프에 일관성이 공간 탭의 크기, ...
  2. a2ps을 설정 expand 실행 ...
  3. ...
  4. ImageMagick의 convert, (E) PS를 가져 와서 적절한 배경을 가진 JPEG을 만들고 575x148+5+28 등으로 자른 작은줄을 추가하는 작은 Perl 스 니펫

시간의 100 %를 사용했습니다. 이제는 95 %의 시간 동안 작동합니다. 나머지 시간에는 convert: geometry does not contain image 오류가 발생합니다. 문제는 무엇인지 이해할 수 없기 때문에 부분적으로 제거 할 수 없습니다.

이 과정을 시작하기 전에 예쁜 인쇄 엔진 (source-highlight)을 사용하여 소스 코드에서 HTML을 가져 왔지만 HTML을 JPEG로 변환하는 방법은 화면을 자동화하는 것이 었습니다. 임베디드 게코 엔진에서 가져온 것. 신뢰성이 떨어지는 이유는 내가 현재의 메커니즘으로 전환 한 이유입니다.

그렇다면 소스 목록을 자동으로 JPEG 이미지로 변환해야한다면 어떻게해야할까요? 보너스 포인트 (예 : 굵게 표시된 키워드)!

또는 일반적으로 convert: geometry does not contain image의 원인을 알면 도움이 될 수 있습니다. 현재의 프로세스는 엉망입니다.하지만 100 % 안정성으로 되돌릴 수 있다면 지금은 괜찮을 것입니다.

미리 감사드립니다.

답변

8

html2ps를 고려한 다음 imagemagick을 변환 할 수 있습니다.

생각 : 대상 (Kindle?)이 PNG를 지원하는 경우이 텍스트 렌더링을 위해 JPEG보다 우선 사용하십시오.

+0

그럴 가능성이 있습니다. 나는 그 길을 떠나서 버렸을 것이라고 확신하지만, 나는 그 이유를 잊어 버렸고, 예비 테스트는 그것이 잘 될 것이라고 제안했다. 나는이 해결책이 작동 하는지를 확인하기 위해 내일 또는 월요일에 이것을 시도하려고 노력할 것이다. 감사! – CommonsWare

+0

주사위가 없습니다. 동일한 빈도로 동일한 ImageMagick 오류가 발생합니다. 반드시 포스트 스크립트 입력 사항이어야합니다. – CommonsWare

+5

사실, 추가 실험을 통해 소스 파일에 빈 공간이 생겨 효과적으로 빈 이미지가 만들어지면 html2ps 솔루션에서만 오류가 발생한다는 것을 알 수있었습니다. 그래서,이 작품! 많은 감사합니다! – CommonsWare

0

Linux 배포판에는 pango-view 및 다양한 글꼴이 포함될 수 있습니다. 이 내 FC6 시스템에서 작동 :

pango-view --font=DejaVuLGCSansMono --dpi=200 --output=/tmp/text.jpg -q /tmp/text 

당신은 당신의 시스템에 설치되어있는 고정 폭 글꼴을 확인해야합니다. /usr/share/fonts/ 주위를보세요.

팬 고는 유니 코드를 지원합니다.

실험하는 동안 -q를 해제하면 파일 대신 창에 표시됩니다.

0

jpeg를 사용하지 마십시오. 사진에 최적화되어 있고 텍스트와 라인 아트로 끔찍한 일을합니다. 대신 gif 또는 png를 사용하십시오.제 이해는 gif가 이제 특허가 없으므로 그냥 사용하는 것입니다.

+2

킨들의 옵션이 없습니다 - JPEG 또는 흉상. – CommonsWare

1

html2ps는 훌륭한 프로그램입니다. 1300 페이지짜리 책을 한 번 제작하는 데 사용했지만 일반 텍스트 -> 추후 만 쓰려면 과장입니다. enscript를 대신 고려하십시오.

1

HTML을 JPG로 변환하는 질문에 대한 답변을 얻었으므로 예쁜 프린터에 대한 제안을하겠습니다. 나는 Pygments 꽤 멋진 것으로 나타났습니다. 그것은 다른 테마를 지원하고 꽤 많은 언어에 대한 렉서를 가지고 있습니다 (그들은 심지어 그것이 brainfuck을 강조한다는 사실을 광고합니다). 명령 줄 도구가 있으며 대부분의 Linux 배포판에서 사용할 수 있습니다.

관련 문제