aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/make-flow-pdfs.py21
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)