質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.69%

SVGからPDFへ変換したときの画像埋め込みについて

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 695

akihiro0117

score 31

SVGからPDFへ変換しようとしています。
ImageMagickやCairoSVGなどを試しましたが、Inkscapeが一番再現率が良いようでした。
しかし、1点問題があります。
Illustratorで変換後のPDFを開いても画像が表示されないのです。
PDFビューアで見る限りは、画像は正しく表示されます。
印刷デザイン上の問題で、Illustratorでも正しく表される必要があります。

  • 外部URL (ex. http://aaaaa.xxxx/aaaa.gif)
  • 内部の固定パス (ex. /var/www/aaaa.gif)
  • base64変換の埋め込み
    などを試しましたが、うまく行きませんでした。

実行しているコマンドは以下です。

inkscape --export-text-to-path /var/www/common/storage/campaign_template_page/10008/10016_1_1.svg --export-pdf=/var/www/common/storage/campaign_template_page/10008/10016_1_1_inkscape.pdf

サンプルのSVGはこちら。

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" height="3578.43" width="2550.96" id="10029" version="1.1">
  <defs xmlns:html="http://www.w3.org/1999/xhtml" id="fontDef">
    <style type="text/css"/>
  </defs>
  <g id="SvgjsG1061" data-type="Crop Image" pointer-events="visiblePainted" data-crop-shape="rect" data-crop-mode="false">
    <image id="SvgjsG1061-shadowImage" xlink:href="data:image/gif;base64,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" width="2048" height="1280" data-no-print="true" preserveAspectRatio="none" pointer-events="visiblePainted" x="35.5" y="35" visibility="hidden" display="none"/>
    <rect id="SvgjsG1061-shadowRect" display="none" width="2048" height="1280" fill="rgb(50,50,50)" pointer-events="visiblePainted" visibility="hidden" x="35.5" y="35"/>
    <image id="SvgjsG1061-image" xlink:href="data:image/gif;base64,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" width="2048" height="1280" preserveAspectRatio="none" x="35.5" y="35" pointer-events="none" clip-path="url(&quot;#SvgjsG1061-mask&quot;)" data-init-x="35.5" data-init-y="35" data-init-width="2048" data-init-height="1280"/>
    <clipPath id="SvgjsG1061-mask">
      <rect id="SvgjsG1061-cropWindowMask" width="766" height="233" fill="#ffffff" pointer-events="none" x="369" y="535"/>
    </clipPath>
    <rect id="SvgjsG1061-cropWindow" display="none" width="766" height="233" fill="transparent" data-type="Crop Window" x="369" y="535" pointer-events="all" style="cursor: move;" data-init-x="369" data-init-y="535" data-init-width="1714.5" data-init-height="780"/>
  </g>
  <ellipse id="SvgjsEllipse1195" rx="150" ry="150" cx="898.8333129882812" cy="1651.6666259765625" fill="#0000ff" paint-order="stroke" data-type="Oval" style="cursor: pointer;"/>
</svg>

何か原因や対策等をご存じの方はいらっしゃらないでしょうか?
SVGのミス・書き方の問題、コマンドパラメータ、もしくは他のライブラリなどの解決などの情報がありましたら、教えていただけると幸いです。

よろしく御願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

0

base64による埋め込みで解決しました。
エンコードするところに間違いがあったため駄目だったようです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.69%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる