kazurayam / vba-callgraph

Generating a Call Graph for Excel VBA workbooks
https://kazurayam.github.io/VBACallGraph/
Apache License 2.0
0 stars 0 forks source link

PNG画像をPDFに変換するJavaクラスを作れ #31

Closed kazurayam closed 1 month ago

kazurayam commented 1 month ago

30 で結構使えるdiagramを作ることができた。diagramをPlantUMLを使ってPNG画像に変換する処理はIntelliJ IDEAやVSCodeで手動でやることにしよう。PNGが出来たとする。

さてPNGを紙に印刷したい。そのためにはPNGを含むPDFファイルを作らねばならない。

たしかにMacのプレビューappでPNGを開き「PDFに書き出す」を選択すればPDFが作れる。しかし、何度もこれを繰り返すのは面倒くさい。PNG画像をPDFに変換するJavaクラスを作ろう。それを

FindUsageAppGrandTest

にメソッドを追加してPNG->PDF変換クラスを駆動しよう。@Testアノテーション無しにしておいた方がいいな。TestNGが呼び出さないように。

PNGー>PDF変換クラスができたらその次にMuPDFを呼び出せ。複数ページに分割したPDFができる。それをコンビニのプリンタで紙に出力できる。作業の流れがスムーズになる。素晴らしい。

kazurayam commented 1 month ago

実装方法については

https://www.baeldung.com/java-pdf-creation

に従うことにしよう。

kazurayam commented 1 month ago

added com.kazurayam.vba.PDFromImageGenerator class

usage example here

done at v0.1.12

kazurayam commented 1 month ago

出力されたPDFを開いてみたら、期待していたものとは違っていた。PNG画像の全体がPDFの1ページに収まった状態を期待していたが、PNG画像の隅っこを切り取った断片が収まっていた。

FindUsageAppGrandTest.testWriteDiagram_Options_KAZURAYAM.pdf

スクリーンショット 2024-08-15 16 41 27

これではダメだった。大きな画像をPDFnの1ページに収めよ、というのには一工夫する必要があるらしい。学べ。

kazurayam commented 1 month ago

対策した

スクリーンショット 2024-08-15 17 55 29