Skip to content

kienn-HCl/report-binding

Repository files navigation

report-binding

pdf記事を製本するコマンドラインアプリケーション。 用意した記事や表紙を結合して製本する。目次pdf生成機能付き。

インストール

releaseにバイナリがあるので各自の環境に合わせてインストールしてください。

使い方

製本の一通りの流れ

記事pdfのあるディレクトリで

$ ./report-binding i

とすることでディレクトリにreportData.csv,FrontCover,TableOfContents,UnitedReport,BackCoverが生成されます。

$ tree
.
├── article1.pdf
├── article2.pdf
├── article3.pdf
└── report-binding

$ ./report-binding i

$ tree
.
├── article1.pdf
├── article2.pdf
├── article3.pdf
├── BackCover
├── FrontCover
├── report-binding
├── reportData.csv
├── TableOfContents
└── UnitedReport

reportData.csvはpdfのメタデータを読み取って作られます。読み取れなかった部分は空となります。

┌───────────┬────────┬─────────────┬──────────────┐
│ PageCount │ Author │ Title       │ Filename     │
├───────────┼────────┼─────────────┼──────────────┤
│ 1         │        │             │ article1.pdf │
│ 1         │ int    │ てすと記事2 │ article2.pdf │
│ 1         │ string │ てすと記事3 │ article3.pdf │
└───────────┴────────┴─────────────┴──────────────┘

このreportData.csvの行の順番を変更することで結合したときの記事の順番も変更することが出来ます。

FrontCoverに表紙のpdfを、TableOfContentsに目次のpdfを、BackCoverに裏表紙のpdfを一枚入れた状態で

$ ./report-binding b

とすることでBoundReportディレクトリ内に製本されたpdfが作られます。なお、製本されたpdfはページ数が4の倍数となるように調整されます。

$ tree
.
├── article1.pdf
├── article2.pdf
├── article3.pdf
├── BackCover
│   └── backCover.pdf
├── FrontCover
│   └── frontCover.pdf
├── report-binding
├── reportData.csv
├── TableOfContents
│   └── tableOfContents.pdf
└── UnitedReport

$ ./report-binding b

$ tree
.
├── article1.pdf
├── article2.pdf
├── article3.pdf
├── BackCover
│   └── backCover.pdf
├── BoundReport
│   └── boundReport.pdf
├── FrontCover
│   └── frontCover.pdf
├── report-binding
├── reportData.csv
├── TableOfContents
│   └── tableOfContents.pdf
└── UnitedReport
    └── unitedReport.pdf

目次生成機能

reportData.csvのデータをもとに目次pdfを生成できます。データに空の部分があってはいけません。

┌───────────┬────────┬─────────────┬──────────────┐
│ PageCount │ Author │ Title       │ Filename     │
├───────────┼────────┼─────────────┼──────────────┤
│ 1         │ void   │ てすと記事1 │ article1.pdf │
│ 1         │ int    │ てすと記事2 │ article2.pdf │
│ 1         │ string │ てすと記事3 │ article3.pdf │
└───────────┴────────┴─────────────┴──────────────┘

以下のコマンドを記事とreportData.csvがあるディレクトリで実行することで、FrontCover/frontCover.pdfが作成されます。

$ ./report-binding t

ヘルプ

引数などをつけずに実行することでヘルプを見れます。

font

このプログラムでは目次pdf作成時にIPAフォントを使用しています。IPAフォントのライセンスはfontディレクトリ内にあります。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages