1

私は Apache Batik を使用しており、SVG ファイルを変更してから JPEG としてレンダリングしようとしています。

SVG ファイルを w3c ドキュメントに変換します。次に、更新する必要がある要素を取得します。しかし、その要素のテキストを取得または設定しようとすると、次のエラーが発生します。

java.lang.AbstractMethodError:org.apache.batik.dom.svg.SVGOMTextElement.getTextContent()Ljava/lang/String;

私のコードは次のとおりです。

final String parser = XMLResourceDescriptor.getXMLParserClassName();
final SAXSVGDocumentFactory svgDocFactory = new SAXSVGDocumentFactory(parser);
svgDoc = svgDocFactory.createDocument(svgUri);
final Element element = svgDoc.getElementById("MainTitle");
System.out.println("Element Text:" + element.getTextContent().toString());

pom.xml での Apache Batik の依存関係は次のとおりです。

<properties>
    <java-version>1.7</java-version>
    <batik.svg.version>1.6-1</batik.svg.version>
</properties>

<dependencies>
    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-util</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-rasterizer</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-transcoder</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-parser</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-dom</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-svg-dom</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-xml</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-bridge</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-gvt</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-awt-util</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-svggen</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-ext</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-css</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-gui-util</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-script</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>

    <dependency>
        <groupId>batik</groupId>
        <artifactId>batik-extension</artifactId>
        <version>${batik.svg.version}</version>
    </dependency>
</dependencies>

SVG Dom ドキュメント内の要素のテキスト値を更新する方法を教えてください。

DOM API の使用に関するサンプルやドキュメントを入手できるリンクを教えていただければ幸いです。

ありがとう、

4

0 に答える 0