From 6a4da4c22197e1cc21714c851eaae13909fb1097 Mon Sep 17 00:00:00 2001 From: TakenPt Date: Sun, 22 Dec 2024 00:03:47 +0900 Subject: [PATCH 01/10] =?UTF-8?q?=E3=83=96=E3=83=AD=E3=82=B0=E3=81=AE?= =?UTF-8?q?=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blogs/2024-12-21-Mermaid-to-pdf.md | 100 ++++++++++++++++++ .../2024-12-21-Mermaid-to-pdf/Cairosvg.pdf | Bin 0 -> 1672 bytes .../2024-12-21-Mermaid-to-pdf/Inkscape.pdf | Bin 0 -> 1474 bytes .../2024-12-21-Mermaid-to-pdf/md-to-pdf.pdf | Bin 0 -> 9688 bytes .../rsvg-convert.pdf | Bin 0 -> 1672 bytes .../2024-12-21-Mermaid-to-pdf/sample.pdf | Bin 0 -> 8800 bytes 6 files changed, 100 insertions(+) create mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf.md create mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/Cairosvg.pdf create mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/Inkscape.pdf create mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/md-to-pdf.pdf create mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/rsvg-convert.pdf create mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/sample.pdf diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf.md b/src/content/blogs/2024-12-21-Mermaid-to-pdf.md new file mode 100644 index 0000000..2914774 --- /dev/null +++ b/src/content/blogs/2024-12-21-Mermaid-to-pdf.md @@ -0,0 +1,100 @@ +--- +title: Mermaidのグラフをpdfにする +description: Mermaidで作成した図表のみのpdfを作成する。 +category: tech +author: TaPet +tags: [Advent Calendar, Markdown] +--- + +この記事は[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を使うと、ラスタ画像になっていました。~~(ちゃんと読んでないのが悪い)~~ これでは、この記事の目的は達成できていません。 +→svgファイルをいじって、ほかの方法で文字が表示されるようにするしかない? + +ほかの方法で、変換できれば記事を更新します。 + +--- + +試した手法とその結果も載せています。 +最終的な方法だけ見たい方は、[結論](#結論)を見てください。 + +## やりたかったこと +学校の課題で、$\LaTeX$ でレポートを書く必要がありました。 +その際、状態遷移図を乗せる必要があったので、Mermaidで簡単に作ってしまおうと思いましたが、作った画像をどう表示させようか悩みました。 +$\LaTeX$にsvgを張るのは面倒 ($\LaTeX$のことをよくわかってない) ので、pdfにして表示しようと思いましたが、うまく変換できませんでした。 +~~なお、ベクター画像でなければならない理由はない。やりたかっただけ~~ + +## 試した方法 + +### 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が想定していない情報も書いてあるようで、そのために処理がうまくいかないようでした。 +
+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を作成できました。 +
+Headless Chrome + +
+ +## 結論 +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 +```mermaid +graph TD +a-->b +a-->c +b-->d +c-->e +d-->e +``` + +出来上がったpdf + + +
diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf/Cairosvg.pdf b/src/content/blogs/2024-12-21-Mermaid-to-pdf/Cairosvg.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1861f03a4f9f26b5c40060a08313a5c6b7928b77 GIT binary patch literal 1672 zcmZWp2~-nD7=C?Ju#4h>pn}>#%hdweO~}ciKnQ0vFNpf&a!r;Hj%?g40-{xv+InHJ z6y>m3z#^?jX#p`9Uwu$CLPbieQj1Tapj8g5SUiw+HXKqrZ{N($H}l`~{f;uR#2xeC zB91lvr(YtT00rd6M8w-0u)+zAicSDr2+0uu0864yrU?qJ$v91j2?ePn5MN(JM^glz zf}|H4)--Euuo<1LYoA#-HD1kZHh*VN;Ga9EZOrnhw$ab8BrXo>ij}e9X!*2~X=bDXZ-_4Ky7K3zI^Z`RO2{qdK}7f7>4t@3@lUU9d++MN-$+$cGt-NKPVdWz8ja5w< zp|*R!+I(W)7H9j4LlN&L9i+qf4KsbLS}KjQ#wSCcUAQ)QAZ^v~zBK!iQ+w`hi(G!G zH!;=rMUZVp)Y0j&2RrkZ{aO&;n7gEQ=U{#A{1x_S?`)^)tnc!wcl2i+ZeE;pSo%k~ ztbT*rhuGRGGa(O`dAGImY`!Q;HWYjm>{F;Jj;RToC29ZBw@Cedojx<^(&r2Ggbmv$ z?b6R_pDDR#FDyHDDu2<#CI#28p(bCyp<3j%?!{;XUutZ#D31B7IHs`Zf`k&dnPnJr za)y52cWdNkY3I4;y!6(VGoQ2yf9}nHuj5MW>|r}aoBVBq!CKU7C{i6l%I-?VB1<>- zrB`k!schwT#a&B>50rLX_LNmNGz%}Cf9s=eg8@J7EzX+f!CMc8GGJ8 zJo;!o9_1j4t5|aO%E{;Lu3ibZyS45{X>nv`*-UG7&9|AkHc1_&ef8%nQj9*=IVlUx zGa@_plv?=weIP>1Su_6!#Wu_BUeDih2%D9nUNO5er)7*PGA7^a zPYIE6o=F*#jMpLR7+F@BTB(DfFj=+Qn|XC3| zQPg#cP5u;{V@?O)G@eYVOxlBg(_x|Zn_5s#oifS{8D@VHzK7sP{c48w#_Gc$l@ z0z-v-Sjsmrfl%;248`DEeDfY3X6L^c#^%9%zJYQ0Q}odku1+Q>Q$-@wTL|bfQw%vt j(trtk?8Ss=;z_{d-c(E-jZ?HKLd=tcB94xMt0c(3`VwQf literal 0 HcmV?d00001 diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf/Inkscape.pdf b/src/content/blogs/2024-12-21-Mermaid-to-pdf/Inkscape.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fa2227bc7098a2e800f845842b2ce1da7c08e55a GIT binary patch literal 1474 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 BV50y4 literal 0 HcmV?d00001 diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf/rsvg-convert.pdf b/src/content/blogs/2024-12-21-Mermaid-to-pdf/rsvg-convert.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5e8af0af309d0e817cce46c67c50e79b78a87708 GIT binary patch literal 1672 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 Date: Sun, 22 Dec 2024 00:09:03 +0900 Subject: [PATCH 02/10] =?UTF-8?q?=E3=82=BF=E3=82=B0=E3=81=AE=E9=96=93?= =?UTF-8?q?=E9=81=95=E3=81=84=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/content/blogs/2024-12-21-Mermaid-to-pdf.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf.md b/src/content/blogs/2024-12-21-Mermaid-to-pdf.md index 2914774..2552e78 100644 --- a/src/content/blogs/2024-12-21-Mermaid-to-pdf.md +++ b/src/content/blogs/2024-12-21-Mermaid-to-pdf.md @@ -3,7 +3,7 @@ title: Mermaidのグラフをpdfにする description: Mermaidで作成した図表のみのpdfを作成する。 category: tech author: TaPet -tags: [Advent Calendar, Markdown] +tags: [advent-calendar, Markdown] --- この記事は[OUCC Advent Calendar 2024](https://adventar.org/calendars/10655)の21日目の記事です。 From a16b782741fdd9256f27a1d4838bf5ee7cca451e Mon Sep 17 00:00:00 2001 From: TakenPt Date: Sun, 22 Dec 2024 00:18:15 +0900 Subject: [PATCH 03/10] =?UTF-8?q?=E3=82=BF=E3=82=B0=E3=81=AE=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/content/blogs/2024-12-21-Mermaid-to-pdf.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf.md b/src/content/blogs/2024-12-21-Mermaid-to-pdf.md index 2552e78..09227ef 100644 --- a/src/content/blogs/2024-12-21-Mermaid-to-pdf.md +++ b/src/content/blogs/2024-12-21-Mermaid-to-pdf.md @@ -3,7 +3,7 @@ title: Mermaidのグラフをpdfにする description: Mermaidで作成した図表のみのpdfを作成する。 category: tech author: TaPet -tags: [advent-calendar, Markdown] +tags: [advent-calendar, markdown] --- この記事は[OUCC Advent Calendar 2024](https://adventar.org/calendars/10655)の21日目の記事です。 From 806b577343db0f41fbfd15b8e9594f9b8e255888 Mon Sep 17 00:00:00 2001 From: TakenPt Date: Sun, 22 Dec 2024 01:40:47 +0900 Subject: [PATCH 04/10] =?UTF-8?q?=E8=A8=98=E4=BA=8B=E4=BD=9C=E6=88=90?= =?UTF-8?q?=E5=BE=8C=E3=81=AE=E6=B0=97=E3=81=A5=E3=81=8D=E3=82=92=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/content/blogs/2024-12-21-Mermaid-to-pdf.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf.md b/src/content/blogs/2024-12-21-Mermaid-to-pdf.md index 09227ef..0a4e73d 100644 --- a/src/content/blogs/2024-12-21-Mermaid-to-pdf.md +++ b/src/content/blogs/2024-12-21-Mermaid-to-pdf.md @@ -9,7 +9,7 @@ tags: [advent-calendar, markdown] この記事は[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を使うと、ラスタ画像になっていました。~~(ちゃんと読んでないのが悪い)~~ これでは、この記事の目的は達成できていません。 +[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ファイルをいじって、ほかの方法で文字が表示されるようにするしかない? ほかの方法で、変換できれば記事を更新します。 From fda95aa2865ca1810241ae74d140027f028c602d Mon Sep 17 00:00:00 2001 From: TakenPt Date: Sun, 22 Dec 2024 01:41:06 +0900 Subject: [PATCH 05/10] =?UTF-8?q?pdf=E3=82=92=E7=94=BB=E5=83=8F=E3=81=AB?= =?UTF-8?q?=E7=BD=AE=E3=81=8D=E6=8F=9B=E3=81=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blogs/2024-12-21-Mermaid-to-pdf.md | 39 ++++++++---------- .../2024-12-21-Mermaid-to-pdf/Cairosvg.pdf | Bin 1672 -> 0 bytes .../2024-12-21-Mermaid-to-pdf/Cairosvg.png | Bin 0 -> 12312 bytes .../2024-12-21-Mermaid-to-pdf/Inkscape.pdf | Bin 1474 -> 0 bytes .../2024-12-21-Mermaid-to-pdf/Inkscape.png | Bin 0 -> 15213 bytes .../2024-12-21-Mermaid-to-pdf/md-to-pdf.pdf | Bin 9688 -> 0 bytes .../2024-12-21-Mermaid-to-pdf/md-to-pdf.png | Bin 0 -> 46737 bytes .../rsvg-convert.pdf | Bin 1672 -> 0 bytes .../rsvg-convert.png | Bin 0 -> 12312 bytes .../2024-12-21-Mermaid-to-pdf/sample.pdf | Bin 8800 -> 0 bytes .../2024-12-21-Mermaid-to-pdf/sample_1.png | Bin 0 -> 93289 bytes .../2024-12-21-Mermaid-to-pdf/sample_2.png | Bin 0 -> 41340 bytes 12 files changed, 18 insertions(+), 21 deletions(-) delete mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/Cairosvg.pdf create mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/Cairosvg.png delete mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/Inkscape.pdf create mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/Inkscape.png delete mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/md-to-pdf.pdf create mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/md-to-pdf.png delete mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/rsvg-convert.pdf create mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/rsvg-convert.png delete mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/sample.pdf create mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/sample_1.png create mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/sample_2.png diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf.md b/src/content/blogs/2024-12-21-Mermaid-to-pdf.md index 0a4e73d..a853cf6 100644 --- a/src/content/blogs/2024-12-21-Mermaid-to-pdf.md +++ b/src/content/blogs/2024-12-21-Mermaid-to-pdf.md @@ -30,40 +30,34 @@ $\LaTeX$にsvgを張るのは面倒 ($\LaTeX$のことをよくわかってな ### 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が想定していない情報も書いてあるようで、そのために処理がうまくいかないようでした。 -
-Inkscape - -
+ + #### 別の方法 [SVGからPDFへの変換はHeadless Chromeでやろう(と思ったけどやっぱりrsvg-convertでやろう)](https://qiita.com/s417-lama/items/747be70c35204d4e1b39#headless-chrome)を見つけ、そこで紹介されていた、rsvg-convert、Cairosvgは、文字が描画されませんでした。 -
-rsvg-convert - -
-
-Cairosvg - -
+rsvg-convert + +Cairosvg + Headless Chromeでは、ページいっぱいの大きさのグラフが載ったpdfを作成できました。 -
-Headless Chrome - -
+(1ページ目) + +(2ページ目) + + ## 結論 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に変換する。 @@ -95,6 +89,9 @@ d-->e ``` 出来上がったpdf - +(1ページ目) + +(2ページ目) + diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf/Cairosvg.pdf b/src/content/blogs/2024-12-21-Mermaid-to-pdf/Cairosvg.pdf deleted file mode 100644 index 1861f03a4f9f26b5c40060a08313a5c6b7928b77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1672 zcmZWp2~-nD7=C?Ju#4h>pn}>#%hdweO~}ciKnQ0vFNpf&a!r;Hj%?g40-{xv+InHJ z6y>m3z#^?jX#p`9Uwu$CLPbieQj1Tapj8g5SUiw+HXKqrZ{N($H}l`~{f;uR#2xeC zB91lvr(YtT00rd6M8w-0u)+zAicSDr2+0uu0864yrU?qJ$v91j2?ePn5MN(JM^glz zf}|H4)--Euuo<1LYoA#-HD1kZHh*VN;Ga9EZOrnhw$ab8BrXo>ij}e9X!*2~X=bDXZ-_4Ky7K3zI^Z`RO2{qdK}7f7>4t@3@lUU9d++MN-$+$cGt-NKPVdWz8ja5w< zp|*R!+I(W)7H9j4LlN&L9i+qf4KsbLS}KjQ#wSCcUAQ)QAZ^v~zBK!iQ+w`hi(G!G zH!;=rMUZVp)Y0j&2RrkZ{aO&;n7gEQ=U{#A{1x_S?`)^)tnc!wcl2i+ZeE;pSo%k~ ztbT*rhuGRGGa(O`dAGImY`!Q;HWYjm>{F;Jj;RToC29ZBw@Cedojx<^(&r2Ggbmv$ z?b6R_pDDR#FDyHDDu2<#CI#28p(bCyp<3j%?!{;XUutZ#D31B7IHs`Zf`k&dnPnJr za)y52cWdNkY3I4;y!6(VGoQ2yf9}nHuj5MW>|r}aoBVBq!CKU7C{i6l%I-?VB1<>- zrB`k!schwT#a&B>50rLX_LNmNGz%}Cf9s=eg8@J7EzX+f!CMc8GGJ8 zJo;!o9_1j4t5|aO%E{;Lu3ibZyS45{X>nv`*-UG7&9|AkHc1_&ef8%nQj9*=IVlUx zGa@_plv?=weIP>1Su_6!#Wu_BUeDih2%D9nUNO5er)7*PGA7^a zPYIE6o=F*#jMpLR7+F@BTB(DfFj=+Qn|XC3| zQPg#cP5u;{V@?O)G@eYVOxlBg(_x|Zn_5s#oifS{8D@VHzK7sP{c48w#_Gc$l@ z0z-v-Sjsmrfl%;248`DEeDfY3X6L^c#^%9%zJYQ0Q}odku1+Q>Q$-@wTL|bfQw%vt j(trtk?8Ss=;z_{d-c(E-jZ?HKLd=tcB94xMt0c(3`VwQf 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 0000000000000000000000000000000000000000..c144b15e5859216633d0f78d57c8be91a4404247 GIT binary patch literal 12312 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 DgzfT9 literal 0 HcmV?d00001 diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf/md-to-pdf.pdf b/src/content/blogs/2024-12-21-Mermaid-to-pdf/md-to-pdf.pdf deleted file mode 100644 index f6344c01eea4ae6501a28cb326e13da8e19d8c4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9688 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 BV50y4 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 0000000000000000000000000000000000000000..2fc4b654fb6576a760723137a7dfd58a940304b4 GIT binary patch literal 46737 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ℑU^Ba>0)AI=c+~y0X!nJG1 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c237854d0f87bdbbfc52fb4cd3aead74f5ecaa46 GIT binary patch literal 41340 zcmeI5ze`(T6o!w|h_MC~3WY%7bf|(u^$(~JHKJK;k%B}V935H;PLArN!Yxb(i?NvEy~8JOFHn2soldL;`KZqaf&ztt%4fkO2f8k`5^n=#U--L5HM6iUej6 z#w>AwAQ7ZEK#;B&%n&4k6bA?rL5c$ei6F%Rf^@}zAURVL93V&pDH0GQf)ob`(iH=O zM3BJ&f<%xa0YM^2aeyFQF(60;8632^ApK9X)RleG#f{^e(WBEOGiuo5yW=zor%6OY zo7ZrHm7?{O1Lro`WS>BwXqij}0+T6|sW?E8t{9k1nM{KN1c@L;0)j-4;s8OqVnC1x zGB`kx2vQ^r$4iKa( z1_XJxg53UZ6DN0%nR7eN3uOKfxu|OXd)08O&CqY0fKbJz-V%} zqe&Jhvk0?Dsw`#^W)XqFZ+-B4DB^(2Yq`8u959M9ii!h9QASa5z$og90YNf~1_uZd rL5c(fi6F%Rf^@}zAQ5D6a1Vlf^kr}0*_)yBivB`na;CgDzPSDu93gda literal 0 HcmV?d00001 From 8190b5918e518417dc3ddc607b7c5686c7bb5ed4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 21 Dec 2024 16:42:59 +0000 Subject: [PATCH 06/10] [Bot] Update Blog Meta --- src/content/blog-metas/2024-12-21-mermaid-to-pdf.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/content/blog-metas/2024-12-21-mermaid-to-pdf.json 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..84a16dd --- /dev/null +++ b/src/content/blog-metas/2024-12-21-mermaid-to-pdf.json @@ -0,0 +1,3 @@ +{ + "postDate": "2024-12-21T16:42:54.810Z" +} From 65ab92b87be19c74b094e658d045ee4c4db94121 Mon Sep 17 00:00:00 2001 From: TakenPt Date: Sun, 22 Dec 2024 17:11:06 +0900 Subject: [PATCH 07/10] =?UTF-8?q?=E7=94=BB=E5=83=8F=E3=81=AE=E6=9B=B8?= =?UTF-8?q?=E3=81=8D=E6=96=B9=E3=81=AE=E5=A4=89=E6=9B=B4=E3=81=A8LaTeX?= =?UTF-8?q?=E3=82=92=E3=81=9F=E3=81=A0=E3=81=AE=E6=96=87=E5=AD=97=E3=81=AB?= =?UTF-8?q?=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...o-pdf.md => 2024-12-21-Mermaid-to-pdf.mdx} | 47 ++++++++++--------- 1 file changed, 25 insertions(+), 22 deletions(-) rename src/content/blogs/{2024-12-21-Mermaid-to-pdf.md => 2024-12-21-Mermaid-to-pdf.mdx} (64%) diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf.md b/src/content/blogs/2024-12-21-Mermaid-to-pdf.mdx similarity index 64% rename from src/content/blogs/2024-12-21-Mermaid-to-pdf.md rename to src/content/blogs/2024-12-21-Mermaid-to-pdf.mdx index a853cf6..3b0ed91 100644 --- a/src/content/blogs/2024-12-21-Mermaid-to-pdf.md +++ b/src/content/blogs/2024-12-21-Mermaid-to-pdf.mdx @@ -6,13 +6,22 @@ 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'; + + この記事は[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ファイルをいじって、ほかの方法で文字が表示されるようにするしかない? -ほかの方法で、変換できれば記事を更新します。 +ほかの方法で変換できれば記事を更新します。 --- @@ -20,44 +29,39 @@ tags: [advent-calendar, markdown] 最終的な方法だけ見たい方は、[結論](#結論)を見てください。 ## やりたかったこと -学校の課題で、$\LaTeX$ でレポートを書く必要がありました。 +学校の課題で、 LaTeXでレポートを書く必要がありました。 その際、状態遷移図を乗せる必要があったので、Mermaidで簡単に作ってしまおうと思いましたが、作った画像をどう表示させようか悩みました。 -$\LaTeX$にsvgを張るのは面倒 ($\LaTeX$のことをよくわかってない) ので、pdfにして表示しようと思いましたが、うまく変換できませんでした。 +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 - +
    +
    rsvg-convert
    +
    Cairosvg
    +
Headless Chromeでは、ページいっぱいの大きさのグラフが載ったpdfを作成できました。 -(1ページ目) - -(2ページ目) - - +
    +
    1ページ目
    +
    2ページ目
    +
## 結論 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に変換する。 @@ -66,7 +70,6 @@ Mermaidのみを、ファイルに書き、[mermaid-cli](https://github.com/merm
サンプル - Mermaidファイルの記述 ```sample.mmd @@ -90,8 +93,8 @@ d-->e 出来上がったpdf (1ページ目) - + (2ページ目) - +
From 26dc84b2be2b7dc4f2b5a1fadbe9e002356e89e2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 22 Dec 2024 08:12:59 +0000 Subject: [PATCH 08/10] [Bot] Update Blog Meta --- src/content/blog-metas/2024-12-21-mermaid-to-pdf.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 84a16dd..fbf94c2 100644 --- a/src/content/blog-metas/2024-12-21-mermaid-to-pdf.json +++ b/src/content/blog-metas/2024-12-21-mermaid-to-pdf.json @@ -1,3 +1,3 @@ { - "postDate": "2024-12-21T16:42:54.810Z" + "postDate": "2024-12-22T08:12:55.267Z" } From c7912a7b3f54fe3fce05231300f5e09d0a54a1b1 Mon Sep 17 00:00:00 2001 From: TakenPt Date: Sun, 22 Dec 2024 17:16:33 +0900 Subject: [PATCH 09/10] =?UTF-8?q?Mermaid=E3=82=92=E3=82=B3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=81=AB=E3=82=88=E3=82=8B=E8=A8=98=E8=BF=B0=E3=81=8B?= =?UTF-8?q?=E3=82=89svg=E7=94=BB=E5=83=8F=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blogs/2024-12-21-Mermaid-to-pdf.mdx | 20 +++++++------------ .../2024-12-21-Mermaid-to-pdf/sample.svg | 1 + 2 files changed, 8 insertions(+), 13 deletions(-) create mode 100644 src/content/blogs/2024-12-21-Mermaid-to-pdf/sample.svg diff --git a/src/content/blogs/2024-12-21-Mermaid-to-pdf.mdx b/src/content/blogs/2024-12-21-Mermaid-to-pdf.mdx index 3b0ed91..f062e1a 100644 --- a/src/content/blogs/2024-12-21-Mermaid-to-pdf.mdx +++ b/src/content/blogs/2024-12-21-Mermaid-to-pdf.mdx @@ -13,6 +13,7 @@ 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日目の記事です。 @@ -82,19 +83,12 @@ d-->e ``` Mermaid -```mermaid -graph TD -a-->b -a-->c -b-->d -c-->e -d-->e -``` + -出来上がったpdf -(1ページ目) - -(2ページ目) - +PDF +
    +
    1ページ目
    +
    2ページ目
    +
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 @@ +

a

b

c

d

e

\ No newline at end of file From 16386948cd36a67676cb7e451238fb589e7d5760 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 22 Dec 2024 08:18:22 +0000 Subject: [PATCH 10/10] [Bot] Update Blog Meta --- src/content/blog-metas/2024-12-21-mermaid-to-pdf.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index fbf94c2..246bb3f 100644 --- a/src/content/blog-metas/2024-12-21-mermaid-to-pdf.json +++ b/src/content/blog-metas/2024-12-21-mermaid-to-pdf.json @@ -1,3 +1,3 @@ { - "postDate": "2024-12-22T08:12:55.267Z" + "postDate": "2024-12-22T08:18:17.106Z" }