2

Batik を使用して svg を pdf に変換しています。Batik が出力する pdf にはテキストがありません。svg にはテキストがあります。Batik を使用して png にラスタライズすると、テキストが得られます。

使用しているフォントは Arial です。私はdebianボックスを使用しています。アリアルを搭載。これが私が使用しているコマンドです:

/usr/bin/java -jar /usr/local/share/java/batik-1.7/batik-rasterizer.jar \
    -m application/pdf -bg 255.255.255.255 -d /tmp/olV0zQ_wYQ/chart.pdf \ 
    /tmp/tAi25KAE2z/tmp.svg

そして、次の出力が得られます。

About to transcode 1 SVG file(s)

Converting tmp.svg to /tmp/olV0zQ_wYQ/chart.pdf ... ... success

これが私のsvgファイルです

4

1 に答える 1

2

私はちょうど同じ問題を抱えていました。ローカル マシンでは問題なく動作しましたが、リモート サーバー (debian) では動作しませんでした。テキストの位置を変更することで解決しました(フォントはありましたが、表示されていませんでした)

これを試してください:

<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="500" height="330" viewBox="0 0 500 300">

<style type="text/css"><![CDATA[
.xAxisLabels
{
color: #000000;
font-family: Arial
}
]]></style>
<title>title</title>
<desc>stuff</desc>
<defs>
    <font-face font-family="Arial">
        <font-face-src>
        <font-face-uri xlink:href="/usr/share/hholdings/fonts/Arial.ttf"/>
        </font-face-src>
    </font-face>
</defs>

<text transform="translate(112.5 300)" class="xAxisLabels">jan</text>
<text transform="translate(204.17 300)" class="xAxisLabels">feb</text>
<text transform="translate(295.84 300)" class="xAxisLabels">mar</text>
<text transform="translate(387.51 300)"  class="xAxisLabels">apr</text>
</svg>
于 2011-12-23T18:39:30.363 に答える