diff --git a/src/content/blog-metas/2024-12-21-mermaid-to-pdf.json b/src/content/blog-metas/2024-12-21-mermaid-to-pdf.json
new file mode 100644
index 0000000..246bb3f
--- /dev/null
+++ b/src/content/blog-metas/2024-12-21-mermaid-to-pdf.json
@@ -0,0 +1,3 @@
+{
+ "postDate": "2024-12-22T08:18:17.106Z"
+}
diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf.mdx b/src/content/blogs/2024-12-21-Mermaid-to-pdf.mdx
new file mode 100644
index 0000000..f062e1a
--- /dev/null
+++ b/src/content/blogs/2024-12-21-Mermaid-to-pdf.mdx
@@ -0,0 +1,94 @@
+---
+title: Mermaidのグラフをpdfにする
+description: Mermaidで作成した図表のみのpdfを作成する。
+category: tech
+author: TaPet
+tags: [advent-calendar, markdown]
+---
+
+import {Image} from 'astro:assets';
+import mdToPdf from './2024-12-21-Mermaid-to-pdf/md-to-pdf.png';
+import Inkscape from '2024-12-21-Mermaid-to-pdf/Inkscape.png';
+import rsvgConvert from '2024-12-21-Mermaid-to-pdf/rsvg-convert.png';
+import Cairosvg from '2024-12-21-Mermaid-to-pdf/Cairosvg.png';
+import headless1 from '2024-12-21-Mermaid-to-pdf/sample_1.png';
+import headless2 from '2024-12-21-Mermaid-to-pdf/sample_2.png';
+import svg from '2024-12-21-Mermaid-to-pdf/sample.svg'
+
+
+この記事は[OUCC Advent Calendar 2024](https://adventar.org/calendars/10655)の21日目の記事です。
+
+## 記事作成後の気づき
+[SVGからPDFへの変換はHeadless Chromeでやろう(と思ったけどやっぱりrsvg-convertでやろう)](https://qiita.com/s417-lama/items/747be70c35204d4e1b39#headless-chrome)の最後にも書いてありましたが、Headless Chromeを使うと、ラスタ画像になっていました。~~(ちゃんと読んでないのが悪い)~~ これでは、この記事の目的は達成できていません。(ラスター画像なら、[mermaid-cli](https://github.com/mermaid-js/mermaid-cli)で作成できる。)
+→svgファイルをいじって、ほかの方法で文字が表示されるようにするしかない?
+
+ほかの方法で変換できれば記事を更新します。
+
+---
+
+試した手法とその結果も載せています。
+最終的な方法だけ見たい方は、[結論](#結論)を見てください。
+
+## やりたかったこと
+学校の課題で、 LaTeXでレポートを書く必要がありました。
+その際、状態遷移図を乗せる必要があったので、Mermaidで簡単に作ってしまおうと思いましたが、作った画像をどう表示させようか悩みました。
+LaTeXにsvgを張るのは面倒 (LaTeXのことをよくわかってない) ので、pdfにして表示しようと思いましたが、うまく変換できませんでした。
+~~なお、ベクター画像でなければならない理由はない。やりたかっただけ~~
+
+## 試した方法
+pdfは載せられないので、pngに変換して載せます。
+### Markdown内に書いて、pdfで出力
+いくつかの変換方法を試しましたが、文書として出力されるため、画像のみのpdfは出力できませんでした。
+pdf内にグラフが小さく表示されてしまいます。
+
+
+
+### Mermaid → svg → pdf
+[mermaid-cli](https://github.com/mermaid-js/mermaid-cli) というMermaidをsvg/png/pdfに変換できる、cliアプリケーションが見つかりました。これで、Mermaidをsvgに変換し、それをpdfに変換する方法を試しました。
+#### Inkscape
+Inkscapeで、`inkscape --export-type="pdf" sample.svg`などとして、pdfに変換しようと思いましたが、うまくいかず、黒塗りの画像が出てきてしまいました。mermaid-cliで生成されるsvgには、Inkscapeが想定していない情報も書いてあるようで、そのために処理がうまくいかないようでした。
+
+
+
+#### 別の方法
+[SVGからPDFへの変換はHeadless Chromeでやろう(と思ったけどやっぱりrsvg-convertでやろう)](https://qiita.com/s417-lama/items/747be70c35204d4e1b39#headless-chrome)を見つけ、そこで紹介されていた、rsvg-convert、Cairosvgは、文字が描画されませんでした。
+
+
+rsvg-convert
+Cairosvg
+
+
+Headless Chromeでは、ページいっぱいの大きさのグラフが載ったpdfを作成できました。
+
+
+## 結論
+Mermaidのみを、ファイルに書き、[mermaid-cli](https://github.com/mermaid-js/mermaid-cli)で、svgに変換し、[SVGからPDFへの変換はHeadless Chromeでやろう(と思ったけどやっぱりrsvg-convertでやろう)](https://qiita.com/s417-lama/items/747be70c35204d4e1b39#headless-chrome)で紹介されている、[svg2pdf.bash](https://gist.github.com/s417-lama/84bf66de1096c4587e8187092fb41684)を使って、pdfに変換する。
+ただし、このpdfには、謎の2ページ目が存在するので、1ページ目のみを使用する。(1ページ目のみを参照するなり、別ファイルに1ページ目のみを書き出すなりしてください。)
+
+
+サンプル
+
+Mermaidファイルの記述
+
+```sample.mmd
+graph TD
+a-->b
+a-->c
+b-->d
+c-->e
+d-->e
+```
+
+Mermaid
+
+
+PDF
+
+
+
diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf/Cairosvg.png b/src/content/blogs/2024-12-21-Mermaid-to-pdf/Cairosvg.png
new file mode 100644
index 0000000..c144b15
Binary files /dev/null and b/src/content/blogs/2024-12-21-Mermaid-to-pdf/Cairosvg.png differ
diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf/Inkscape.png b/src/content/blogs/2024-12-21-Mermaid-to-pdf/Inkscape.png
new file mode 100644
index 0000000..5f9d515
Binary files /dev/null and b/src/content/blogs/2024-12-21-Mermaid-to-pdf/Inkscape.png differ
diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf/md-to-pdf.png b/src/content/blogs/2024-12-21-Mermaid-to-pdf/md-to-pdf.png
new file mode 100644
index 0000000..2fc4b65
Binary files /dev/null and b/src/content/blogs/2024-12-21-Mermaid-to-pdf/md-to-pdf.png differ
diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf/rsvg-convert.png b/src/content/blogs/2024-12-21-Mermaid-to-pdf/rsvg-convert.png
new file mode 100644
index 0000000..c144b15
Binary files /dev/null and b/src/content/blogs/2024-12-21-Mermaid-to-pdf/rsvg-convert.png differ
diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf/sample.svg b/src/content/blogs/2024-12-21-Mermaid-to-pdf/sample.svg
new file mode 100644
index 0000000..a0a3f58
--- /dev/null
+++ b/src/content/blogs/2024-12-21-Mermaid-to-pdf/sample.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf/sample_1.png b/src/content/blogs/2024-12-21-Mermaid-to-pdf/sample_1.png
new file mode 100644
index 0000000..0bc73af
Binary files /dev/null and b/src/content/blogs/2024-12-21-Mermaid-to-pdf/sample_1.png differ
diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf/sample_2.png b/src/content/blogs/2024-12-21-Mermaid-to-pdf/sample_2.png
new file mode 100644
index 0000000..c237854
Binary files /dev/null and b/src/content/blogs/2024-12-21-Mermaid-to-pdf/sample_2.png differ