batik

batik相关说明
batik是apache下的一个开源、免费项目 [url]http://xmlgraphics.apache.org/batik/download.html[/url]
batik用于java处理SVG矢量图,众多浏览器对于SVG都提供了很好的支持,所以,不用将SVG格式换成PNG、JPG等格式就可以直接输出到浏览器

batik 的依赖
由于本 demo 只是使用 batik 在 servlet 中往页面输出简单的 SVG 图像,根据前面 提到的模块依赖图 ,将 batik 相关的 jar 放入 WEB-INF/lib 下:batik-awt-util.jar,
batik-dom.jar,batik-ext.jar,batik-svggen.jar,batik-util.jar,batik-xml.jar


// Get a DOMImplementation.  
DOMImplementation domImpl = GenericDOMImplementation
.getDOMImplementation();

// Create an instance of org.w3c.dom.Document.
String svgNS = "http://www.w3.org/2000/svg";
Document document = domImpl.createDocument(svgNS, "svg", null);

// Create an instance of the SVG Generator.
SVGGraphics2D g2d = new SVGGraphics2D(document);

// Ask the test to render into the SVG Graphics2D implementation.
g2d.setPaint(Color.yellow);
g2d.fill(new Rectangle(400, 0, 1000, 800));

g2d.setPaint(Color.black);
g2d.setFont(new Font("Times New Roman",Font.PLAIN,28));
g2d.drawString("12345", 500, 200);
g2d.drawString("123456", 500, 400);

int x1,x2,y1,y2;

x1=100;
y1=180;

x2=600;
y2=210;

g2d.drawLine(x1, y1, x2, y1);
g2d.drawLine(x1, y2, x2, y2);

g2d.drawLine(x1, y1, x1, y2);
g2d.drawLine(x2, y1, x2, y2);g2d.drawLine(x2, y1, x2, y2);

g2d.drawLine(x1, y1, x2, y2);


g2d.draw3DRect(x1, y1, 200, 300, false);
g2d.drawArc(x1, y1, 200, 300, 0,270);//弧

g2d.drawOval(x2, y2, 200, 300);//椭圆
g2d.drawRect(x2, y2, 200, 300);//矩形

g2d.setPaint(Color.blue);
g2d.drawRoundRect(x2, y1, 200, 300, 0,90);//圆角矩形

int[] xPoints={600, 650,700};
int[] yPoints={180,150,210};

g2d.drawPolygon(xPoints, yPoints, yPoints.length);//多边形

File file=new File("E:/sss.svg");

Writer w= new FileWriter(file);

g2d.stream(w, true);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Batik是一个Java开发的SVG工具,可以将SVG文件转换为各种图形格式,其中包括PDF。SVG(可缩放矢量图形)是一种基于XML语法的图形格式,旨在描述二维矢量图形。由于SVG是一种矢量图形格式,因此它可以无限缩放而不会失去其清晰度。而PDF(便携式文档格式)是一种跨平台的文档格式,旨在以可靠和可重复的方式呈现文档。 要将SVG文件转换为PDF文件,可以使用Batik中的一个名为"Transcoder"的类。利用Transcoder,开发者可以轻松地将SVG文件转换为PDF格式。以下是一个使用Batik Transcoder的简单示例: 1. 导入Batik: ```java import org.apache.batik.transcoder.Transcoder; import org.apache.batik.transcoder.TranscoderException; import org.apache.batik.transcoder.TranscoderInput; import org.apache.batik.transcoder.TranscoderOutput; import org.apache.batik.transcoder.pdf.PDFTranscoder; ``` 2. 创建一个Transcoder对象: ```java Transcoder transcoder = new PDFTranscoder(); ``` 3. 从SVG文件中创建一个TranscoderInput对象: ```java TranscoderInput input = new TranscoderInput(new FileInputStream(new File("input.svg"))); ``` 4. 从PDF文件中创建一个TranscoderOutput对象: ```java TranscoderOutput output = new TranscoderOutput(new FileOutputStream(new File("output.pdf"))); ``` 5. 执行转换: ```java try { transcoder.transcode(input, output); } catch (TranscoderException ex) { ex.printStackTrace(); } ``` 通过Batik,将SVG文件转换为PDF文件变得非常简单。无论您是为Web应用程序创建静态图像还是将SVG图像添加到PDF文件中,Batik都提供了功能强大而灵活的解决方案。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值