명령 줄에서 Thinreports 레이아웃 파일에서 PDF를 생성하는 도구를 만든 메모

Thinreports Templete CLI 라는 명령줄 도구를 만들었습니다.

명령 줄에서 Thinreports 장부 레이아웃에서 PDF를 생성하는 도구입니다. Word에서 손으로 입력하거나 하는 것이 힘든 사람들을 위한 도구입니다.

Step 0: 아는 사람을 위한 시험 명령


$ wget https://raw.githubusercontent.com/mh61503891/thinreports-template-cli/master/test/fixtures/card.tlf
$ gem install thinreports-template-cli
$ thinreports-template-cli ./card.tlf --help
thinreports-template-cli tlf [options]

Basic Options
        --format=table|csv|json|pdf

Thinreports Layout File Options
        --name=[NAME]                本名またはハンドルネームを記載してください。
        --twitter=[TWITTER]          Twitterのアカウントをお持ちのかたはIDを記載してください。
        --desc=[DESC]                自己紹介の説明文を記入してください。
$ thinreports-template-cli ./card.tlf --name="M. Higashino" --twitter=61503891 --desc="猫です。" --format=pdf > ./card.pdf && open ./card.pdf



완🎉

Step 1: 장부 레이아웃 만들기



여기에서 조금 자세한 설명입니다. 예를 들어 Thinreports Editor 에서 아래 그림과 같은 장부 레이아웃을 만들고 card.tlf 로 저장합니다.



이 파일은 card.tlf에서 다운로드할 수 있습니다. 필요한 분은 아래 명령으로 다운로드하십시오.
$ wget https://raw.githubusercontent.com/mh61503891/thinreports-template-cli/master/test/fixtures/card.tlf

2단계: Thinreports Templete CLI 설치



다음 명령으로 설치합니다.
$ gem install thinreports-template-cli

Step 3: 텍스트 블록을 명령행 옵션으로 본다.


thinreports-template-cli 명령에 방금 작성한 장부 레이아웃 파일 ( card.tlf )을 지정하고 --help를 지정하면 텍스트 블록의 ID가 명령 행 옵션에 매핑되어 표시됩니다.
$ thinreports-template-cli ./card.tlf --help
thinreports-template-cli tlf [options]

Basic Options
        --format=table|csv|json|pdf

Thinreports Layout File Options
        --name=[NAME]                本名またはハンドルネームを記載してください。
        --twitter=[TWITTER]          Twitterのアカウントをお持ちのかたはIDを記載してください。
        --desc=[DESC]                自己紹介の説明文を記入してください。

Step 4: 텍스트 블록의 테이블 표시



이런 식으로 텍스트 블록이 나열됩니다.
$ thinreports-template-cli ./card.tlf
+-------+------+-------+--------+-------------+------------+----------+--------+--------+---------+---------------------------------------------------------+
|id     |ref_id|display|multiple|default_value|option_value|real_value|fmt_base|fmt_type|fmt_value|desc                                                     |
+-------+------+-------+--------+-------------+------------+----------+--------+--------+---------+---------------------------------------------------------+
|name   |      |true   |true    |             |            |          |        |        |         |本名またはハンドルネームを記載してください。             |
|twitter|      |true   |false   |             |            |          |@{value}|        |         |Twitterのアカウントをお持ちのかたはIDを記載してください。|
|desc   |      |true   |true    |             |            |          |        |        |         |自己紹介の説明文を記入してください。                     |
+-------+------+-------+--------+-------------+------------+----------+--------+--------+---------+---------------------------------------------------------+

Step 5: 옵션 지정



텍스트 블록의 ID는 커멘드 라인 옵션이 되어 있으므로 적당히 지정해 줍니다. 값에 관한 항목의 의미는 아래와 같습니다.
  • default_value : 장부 레이아웃에 지정된 기본값
  • option_value : 명령 행 옵션에 지정된 값
  • real_value : 실제로 출력되는 값
  • $ thinreports-template-cli ./card.tlf --name="M. Higashino" --twitter=61503891 --desc="猫です。"
    +-------+------+-------+--------+-------------+--------------------+--------------------+--------+--------+---------+---------------------------------------------------------+
    |id     |ref_id|display|multiple|default_value|option_value        |real_value          |fmt_base|fmt_type|fmt_value|desc                                                     |
    +-------+------+-------+--------+-------------+--------------------+--------------------+--------+--------+---------+---------------------------------------------------------+
    |name   |      |true   |true    |             |M. Higashino  |M. Higashino  |        |        |         |本名またはハンドルネームを記載してください。             |
    |twitter|      |true   |false   |             |61503891            |@61503891           |@{value}|        |         |Twitterのアカウントをお持ちのかたはIDを記載してください。|
    |desc   |      |true   |true    |             |猫です。|猫です。|        |        |         |自己紹介の説明文を記入してください。                     |
    +-------+------+-------+--------+-------------+--------------------+--------------------+--------+--------+---------+---------------------------------------------------------+
    

    Step 6: PDF 파일 생성


    --format=pdf 와 옵션을 지정해 주면 표준 출력에 PDF 파일이 출력되므로 나머지는 리다이렉트 되어 파이프로 연결해 lpr 로 프린터에 던지게 됩니다.
    $ thinreports-template-cli ./card.tlf --name="M. Higashino" --twitter=61503891 --desc="猫です。" --format=pdf > ./card.pdf && open ./card.pdf
    



    글쎄, 이건 괜찮아.

    좋은 웹페이지 즐겨찾기