Преобразование svg в pdf: почему я теряю текст?

Я использую Batik для преобразования svg в pdf. PDF-файл, который выводит Batik, не имеет текста. В svg есть текст. Если я использую Batik для растрирования в png, я получаю текст.

Я использую шрифт 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-файл.


person Eric Johnson    schedule 15.11.2011    source источник
comment
Вы можете опубликовать SVG?   -  person Chris Haas    schedule 16.11.2011
comment
Хм... у меня нормально конвертируется. Можете ли вы опубликовать PDF, который он генерирует?   -  person Chris Haas    schedule 16.11.2011
comment
я не могу открыть URL-адрес вашего svg - это работает для кого-то еще?   -  person collapsar    schedule 27.11.2011


Ответы (1)


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