diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/make-flow-pdfs.py | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/scripts/make-flow-pdfs.py b/scripts/make-flow-pdfs.py index 24d8f18..5c9e840 100644 --- a/scripts/make-flow-pdfs.py +++ b/scripts/make-flow-pdfs.py @@ -49,12 +49,12 @@ LIC_PUBLIC = ("© 安竹洋平(小平市議会議員)/公立版・私立ç‰ LIC_PRIVATE = ("© 安竹洋平(小平市議会議員)/公立版・私立版とも CC BY-ND 4.0" "(無保証)/yasutakeyohei.com/ijime-judai-jitai/flow/") -# (SVGファイル名, 出力の6ページ版, 出力の1ページ版, SVGの元の高さ, フッターのライセンス) +# (SVGファイル名, 出力の6ページ版, 出力の1ページ版, SVGの元の高さ, フッターのライセンス, 版の名前) JOBS = [ ("ijime-judai-flow.svg", "ijime-judai-flow-a4-6p.pdf", - "ijime-judai-flow-a4-1p.pdf", 4034, LIC_PUBLIC), + "ijime-judai-flow-a4-1p.pdf", 4034, LIC_PUBLIC, "公立学校版"), ("ijime-judai-flow-private.svg", "ijime-judai-flow-private-a4-6p.pdf", - "ijime-judai-flow-private-a4-1p.pdf", 3624, LIC_PRIVATE), + "ijime-judai-flow-private-a4-1p.pdf", 3624, LIC_PRIVATE, "私立学校版"), ] @@ -96,7 +96,7 @@ def add_footer(page, text, license_text): }) -def build(svg_name, out_6p, out_1p, base_h, license_text): +def build(svg_name, out_6p, out_1p, base_h, license_text, label): path = IMAGES / svg_name svg = pymupdf.open("svg", strip_anchors(path.read_text(encoding="utf-8")).encode("utf-8")) # show_pdf_page は PDF しか受け付けないため、いったんベクターPDFに変換する @@ -122,6 +122,15 @@ def build(svg_name, out_6p, out_1p, base_h, license_text): dest = DEST if i < 6 else one_page_rect(base_h) page.show_pdf_page(dest, src, 0, clip=clip) add_footer(page, footer, license_text) + # PDFのメタデータにも、出典とライセンスを入れる(AIや検索が読むため) + out.set_metadata({ + "title": f"{TITLE}({label})", + "author": "安竹洋平(小平市議会議員)", + "subject": ("CC BY-ND 4.0(表示—改変禁止)。公立学校版・私立学校版とも同じライセンス。" + "出典 https://yasutakeyohei.com/ijime-judai-jitai/flow/"), + "keywords": f"いじめ重大事態, フロー図, {label}, CC BY-ND 4.0, 安竹洋平, 小平市", + "creator": "https://yasutakeyohei.com/ijime-judai-jitai/flow/", + }) out.subset_fonts() tmp = path.with_suffix(".tmp.pdf") out.save(tmp, garbage=4, deflate=True, clean=True) @@ -135,5 +144,5 @@ def build(svg_name, out_6p, out_1p, base_h, license_text): src.close() -for svg_name, out_6p, out_1p, base_h, license_text in JOBS: - build(svg_name, out_6p, out_1p, base_h, license_text) +for svg_name, out_6p, out_1p, base_h, license_text, label in JOBS: + build(svg_name, out_6p, out_1p, base_h, license_text, label) |
