ひらい ぶらり Hi-Library

ぷろぐらみんぐについて。ときどきどうでもいいことについて。

Illustraorで出力したSVGがTCPDFでスタイルが正しく反映されない

おはよーこんちわーこんばんわーおやすみーおきてー! しんばしです。

結論:出力時に「スタイル属性」を指定して、インラインでスタイル属性を埋め込めばよさそう

以下経過

タイトルの通り、Illustraorで出力されたSVGをTCPDFでPDFに埋め込んだところ 「画像が潰れて、全部真っ黒になっちゃうんだけど」 とのこと。 調べてみたトコロ、パスは正しく出力されているので、どうもスタイルが反映されずに白色の指定が無視されてしまって真っ黒になっている模様。

手持ちの「Graphics」で貰ったSVGを再出力したところ正しくPDFに埋め込まれたので、2つのSVGを比較したところ

  • 失敗する方のSVG
    • style要素でcssが指定され、classで参照していた
  • 成功する方のSVG
    • 各要素にインラインでcssが指定されていた

という違いを発見。どうもTCPDFはclassの参照がうまくできていないっぽい

そんなわけで、Illustraorでどんな設定にしているのか見てみた。 スタイルの項目をみたところ「スタイル要素」になっていて、ここを「スタイル属性」に変えるとインラインで出力される模様。

以上。とてもニッチな内容でした。