java svg_java – 如何加载和解析SVG文档

概观

使用Apache Batik加载和解析SVG文件.该解决方案在将SVG文件转换为MetaPost的初步阶段显示Java代码.这应该提供有关如何使用Java从SVG文件加载,解析和提取内容的一般概念.

图书馆

您将需要以下库:

batik-anim.jar

batik-awt-util.jar

batik-bridge.jar

batik-css.jar

batik-dom.jar

batik-ext.jar

batik-gvt.jar

batik-parser.jar

batik-script.jar

batik-svg-dom.jar

batik-svggen.jar

batik-util.jar

batik-xml.jar

xml-apis-ext.jar

加载SVG文件

主应用程序将SVG文件加载到DOM中,然后将DOM转换为SVG DOM. initSVGDOM()方法调用非常重要.在不调用initSVGDOM()的情况下,从DOM中提取SVG DOM元素的方法将不可用.

import java.io.File;

import java.io.IOException;

import java.net.URI;

import org.apache.batik.bridge.BridgeContext;

import org.apache.batik.bridge.DocumentLoader;

import org.apache.batik.bridge.GVTBuilder;

import org.apache.batik.bridge.UserAgent;

import org.apache.batik.bridge.UserAgentAdapter;

import org.apache.batik.dom.svg.SAXSVGDocumentFactory;

import org.apache.batik.dom.svg.SVGOMSVGElement;

import org.apache.batik.util.XMLResourceDescriptor;

import org.w3c.dom.Document;

import org.w3c.dom.NodeList;

/**

* Responsible for converting all SVG path elements into MetaPost curves.

*/

public class SVGMetaPost {

private static final String PATH_ELEMENT_NAME = "path";

private Document svgDocument;

/**

* Creates an SVG Document given a URI.

*

* @param uri Path to the file.

* @throws Exception Something went wrong parsing the SVG file.

*/

public SVGMetaPost( String uri ) throws IOException {

setSVGDocument( createSVGDocument( uri ) );

}

/**

* Finds all the path nodes and converts them to MetaPost code.

*/

public void run() {

N

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值