Преобразование SVG в PDF: почему я теряю свой текст? - PullRequest
2 голосов
/ 15 ноября 2011

Я использую батик, чтобы конвертировать SVG в PDF.PDF, который выводит Батик, не имеет текста.У svg есть текст.Если я использую Batik для растеризации в png, я получаю текст.

Я использую шрифт Arial.Я нахожусь на коробке Debian.Arial установлен.Вот команда, которую я использую:

/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-файл .

1 Ответ

2 голосов
/ 23 декабря 2011

У меня просто была такая же проблема.Он работал нормально на локальной машине, но не на удаленном сервере (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>
...