반응형

오늘은 HTML 문서를 PDF로 변환해 주는 wkhtmltopdf 라는 Open source(LGPL) 프로그램을 소개하려 합니다.

http://wkhtmltopdf.org

http://wkhtmltopdf.org




저는 어떤 문서양식을 만들때 가능한 HTML을 사용해서 만듦니다. 왜냐하면 그것을 Web 서비스에 이식하기도 좋고 엑셀이든 워드든 어떤 문서 편집 프로그램 보다 원하는 형태의 문서를 쉽게 만들어 낼 수 있기 때문입니다.

물론 이렇게 말씀 드리면 마우스로 끄적거리는 것이 훨씬 쉽지 않냐고 말씀 하시는 분도 있겠지만 여러가지 CSS generator가 마련되어 있는 요즘은 상황에 따라 Ctrl+C, Ctrl+V 가 훨씬 빠르고 간편합니다.

물론 문서의 내용과 구조는 그대로 두고 각 요소의 배치나 색, 글꼴 같은 디자인만 바꾸고 싶을 때 HTML+CSS의 조합은 빛을 발합니다. 여러가지 이유로 요즘 개발 중인 프로젝트에 고객에게 프린트에서 줄 문서를 HTML로 만들었는데...한계에 부딪힙니다. 

제 깜냥으로는 세상에 존재하는 모든 웹 브라우저의 입맛을 마추지 못한 것이죠. 화면에 변환되어 나타나는 모습도 다르거니와 같은 브라우저라도 버전이 다르거나 사용자 설정이 다르니 인쇄되는 모양이 제각각이 되어 버립니다.

그러다 찾은 것이 이 wkhtmltopdf !!!
QT Webkit rendering engine 이라는 것을 사용해서 html 문서를 pdf로 변환해 줍니다.
이 프로그램 덕분에 어떤 환경에서도 항상 정형화된 사이즈와 모양의 문서를 출력할 수 있게 되었습니다.

사용 방식은 cmd (shell) 에서 아래와 같이 하면 됩니다.
 >wkhtmltopdf html경로+파일명(또는 URL) pdf경로+파일명

예) C:\>wkhtmltopdf test.html test.pdf 
     또는
    C:\>wkhtmltopdf google.com google.pdf



실행 방법이 간단해서 PHP와 Java에서 exec()함수와 ProcessBuilder로 어렵지 않게 사용할 수 있었습니다.
다른 언어에서도 마찬가지 방법으로 사용할 수 있겠지요.

이제 정말 필요한 것을 잘 찾는 사람이 능력자가 되는 세상이 오고 있는 듯 합니다.
읽어주셔서 감사합니다.

반응형
반응형
 
프롬프트(prompt)?
명령 프롬프트(command prompt)?

  갑자기 생각나서 포스팅 하는데요 위의 두 가지 말이 같은 것을 지칭하는 말이라 지금부터 '프롬프트(prompt)'라고 통일하겠습니다.

  80년대 후반에 태어 났거나 90년대 이후에 태어난 친구들, 그러니깐 딱 저와 같은 세대, 지금 대학생이거나 사회 초년생들에게는 매우 생소한 말입니다. 물론 그 중에 저 처럼 이 말을 들어보고 이게 뭔지 직접 본 친구도 있지만요.

  지금이야 GUI(Graphical User Interface)라는 인터페이스 방식이 널리 퍼져 있어서 우리는 편하게 마우스로 그림을 클릭하는 것만으로 프로그램을 실행 시킵니다. 하지만 제가 어릴적에 컴퓨터를 처음 배울 때는 이 프롬프트(prompt) 라는 녀석에게 키보드를 통해 말을 걸 듯이 컴퓨터에게 일을 시켰죠. 아마 제 기억이 맞다면 문자를 이용해 컴퓨터에게 일을 시키는 인터페이스를 CUI(Character User Interface)라고 했던것 같습니다.

  사실 지금도 복잡한 명령을 컴퓨터에게 시킬 때에는 프롬프트를 사용하는게 속 편할 때가 많습니다. 예를 들면 네트워크에 연결하기 위해서 몇 단계를 거쳐서 화면의 그림을 클릭하며 네트워크 설정을 하는 것 보다 단 한 줄의 텍스트로 네트워크 설정을 하는 것이 편할 수 있다는 것이죠. 물론 이것은 네트워크 설정에 대한 명령과 그 사용 방법을 아는 경우에 한하지만요.

  그러니깐 GUI환경에서 유리한 작업이 있고 CUI 환경에서 유리한 작업이 있을 수 있으므로 각자의 편의에 따라 사용할 수 있다는 겁니다. 개인적으로는 프롬프트에서 명령을 입력하면 컴퓨터와 대화한다는 느낌(?)이 나서 좋은 것 같습니다. 하지만 요즘 사람들이 하는 대부분의 작업에는 매우 불편하죠 ^^

  아래는 프롬프트에 명령을 입력해서 컴퓨터에게 현재 디렉토리의 내용을 보여달라고 한 결과와 현재 ip설정을 보여달라고 한 결과 입니다.



그럼 본격적으로 "프롬프트(prompt)"에 대해서 알아보겠습니다.


■ prompt (command prompt)

  prompt는 사용자의 입력, 즉 명령을 받아들일 준비가 되어 있음을 표시하는 하나 이상의 문자(characters) 서열입니다. 이 것의 목적은 prompt라는 문자 그대로 사용자의 활동을 받아들이기 위함입니다. 일반적으로 #, $, %, > 중 하나가 프롬프트의 마지막 문자로 자주 쓰이며 그 외에 현재 작업 디렉토리(폴더) 같은 정보를 포함하기도 합니다.

  대부분의 Unix 시스템과 그 파생 시스템에서 prompt는 일반사용자의 경우 %나 $로 끝나지만 슈퍼유저(root)인 경우 #으로 끝납니다. 즉 프롬프트를 통해 현재 사용자가 어떤 권한을 가지고 있는지도 짐작할 수 있습니다.

  일반적으로 prompt는 사용자의 편의나 취향에 따라 변경할 수 있습니다. 다시 말하면 무언가를 구분할 색깔, 특별한 문자, 시간, 사용자이름, 작업 디렉토리, 쉘 번호 등의 다양한 정보를 포함시킬 수 있다는 것입니다. 더 나아가서 prompt의 정의를 통해 특별한 token을 이용해서 외부 명령어가 명령 인터프리터에 의해 실행되도록 할 수도 있습니다.

  WINDOWS 이전에 많이 사용하던 운영체제인 DOS(Disk Operating System)의 COMMAND.COM과 WindowsNT의 cmd.exe에서 prompt를 변경하는 방법은 %PROMPT% 라는 환경 변수를 직접 변경하는 것입니다. 보통 요즘 시스템의 prompt 기본 스타일은 C:\> 입니다. 이것은 C드라이브의 가장 상위 디렉토리에 있다는 의미 입니다. 이와 같은 prompt를 표기하기 위해서는 'prompt $P$G'를 입력해서 환경 변수를 변경하면  됩니다. 오래된 DOS는  A: 나 B: 플로피 드라이브를 사용하지 않는다면 C> 모양의 prompt를 제공하는데 이 때는 'prompt $N$G'가 자동으로 기본 값으로 스타일을 정의합니다.


  대부분의 Unix 시스템에서는 쉘(쉽게 말하자면 사람이 입력한 명령을 컴퓨터에게 해석해주는 것)에 따라 다른 변수도 프롬프트에 영향을 미칠 수 있지만 $PS1 변수를 사용해서 prompt를 변경할 수 있습니다.
  bash 쉘의 경우 프롬프트의 형태가
   [time]user@host:work_dir$
 인데 이것은 다음 명령을 실행하면 얻을 수 있는 형태입니다.
   export PS1='[\t]\u@\H:\W$'



다 쓰고 나니 생각보다 많은 정보를 드리지는 못 했네요.^^
prompt에 대한 포스팅은 여기서 마칩니다^^ 아차!! 위 내용은 wikipedia에서 참고 했습니다.(그대로 배낀건가???)
반응형
반응형


종종 어딘가 공모전이 있거나 글을 써야할 일이 있을 때 이런 문구를 많이 보게 됩니다.

 '200자 원고지 00매 내외'

이걸 보고 나면 어떤 생각이 드시나요?

"원고지 00매가 A4 몇장이지?"
"이거.. 원고지를 사야되나?"
"한글에 원고지 모양이 있던거 같던데 그걸 써야하나?"
"글을 쓰고 글자를 세어봐야하나?"

저는 이때까지 이런 생각들을 했었네요^^;

가장 편한 방법이 원고지 모양의 문서를 만드는 거라 생각했는데 이건 가독성도 떨어지고 원고지 사용법에 대한 오류도 좀 있더군요.

그런데 알고보니 한글과컴퓨터에서 만든 한글에 문서의 정보를 보여주는 기능이 있더군요.
물론 원고지로 몇매 정도 되는지의 정보도 나옵니다.

본론!

한글에서 메뉴의 [파일]-[문서 정보] 또는 단축키로 Ctrl + Q + I 를 눌러주시면 문서에 대한 상세한 정보를 볼 수 있습니다.
다섯개의 탭이 있군요.

[일반] 탭에는 문서 파일의 정보를 보여주는것 같네요.


[문서요약] 탭은 제목이나 주제등의 요약정보(이 문서는 제가 초딩때 어떤 선배님께서 작성하셨나봅니다. 날짜가 1999...;;)


[문서통계] 탭은 문서에 매우 상세한 수치로된 정보가 나옵니다. 여기에 우리가 원하는 원고지 매수에 대한 정보도 나오네요^^
이 37쪽의 문서는 원고지로 240.1장이 되는군요


[글꼴] 탭엔 문서에 사용한 글꼴 정보, [그림 정보] 탭에는 문서에 포함된 그림이 나오네요^^


오호호~ 이제부터 원고지 00매 내외라는 문구에 당황할 필요가 없어졌습니다^^
글쓰기를 좋아하시는 분들 화이팅!!
반응형
반응형

인터넷에서 글을 쓰거나 '한글' 또는 'MS워드'등 워드프로세서 이외의 공간에서 글을 쓰면서 특수문자를 입력하고 싶을때가 많습니다. 보통 '자음' + '한자키' 를 이용해서 특수 문자를 입력하는데요. 각각의 조합에 어떤 문자들이 있는지 한번 정리해 볼게요^^

보시고 잘 찾아서 사용하시면 편할 것 같습니다.

자음 + 한자키 + Tab 을 누르면 모든 항목을 볼 수 있습니다.^^


■ ㅂ + 한자키 - 선문자

 


■ ㅈ + 한자키 - 숫자




■ ㄷ + 한자키 - 수식기호



■ ㄱ + 한자키 - 기호



■ ㅅ + 한자키 - 한글 원문자,괄호문자



■ ㅁ + 한자키 - 도형



■ ㄴ + 한자키 - 괄호



■ ㅇ + 한자키 - 영어 원문자, 괄호문자



■ ㄹ + 한자키 - 단위



■ ㅎ + 한자키 - 그리스어



■ ㅋ + 한자키 - 한글 자모



■ ㅌ + 한자키 - 한글 옛 자모



■ ㅊ + 한자키 - 분수, 첨자



■ ㅍ + 한자키 - 알파벳



■ ㅃ + 한자키 - 가타카나



■ ㄸ + 한자키 - 히라가나



■ ㄲ+ 한자키 - 유럽 특수문자


■ ㅆ + 한자키 - 키릴 자모

반응형
반응형


특수기호??

#$%$&^@#$^#$%$#@!$%#^$^%$
#  도대체 이건 뭥미?

프로그래밍을 하다보면 여러 특수 기호를 사용하게 되는데, 보통 @는 '골뱅이' 처럼 부르기 편한 말이 있지만 $,& 같은 기호들은 마땅히 부를 우리말이 없을 뿐더러 원래의 명칭도 잘 모르는 경우가 많습니다. 이번 포스트에서 이런 기호들의 영어 명칭이 무엇인지 알아보겠습니다.

 기호  명칭  기호  명칭
 !  Exclamation Point _ Underscore
 " "  Double Quotation Mark  :  Colon
 ' ' Single Quotation Mark   ;  Semicolon
 #  Crosshatch  ^  Circumflex
 $  Dollar Sign  `  Grave
 %  Percent Sign  {  Left Brace(Open Brace)
 @  At Sign  }  Right Brace(Close Brace)
 &  Ampersand  [  Left Braket(Open Braket)
 *  Asterisk  ]  Right Braket(Close Braket)
 -  Hyphen  (  Left Parenthesis(Open ..)
 . Period   )  Right Parenthesis(Close ..)
 ,  Comma  |  Vertical Bar
 /  Slash  ~  Tilde
 \ Back Slash   ' Apostrophe 

위 표에 적힌 명칭도 중요하겠지만 가장 중요한건 기호를 보고 어떤 의미의 기호인지 이해하는 것이 아닌가 하는 생각이 듭니다.

반응형

+ Recent posts