如何从Graphics2D捕获图形基元到SVG

我需要从调用java.awt.Graphics2D捕获图形基元。 调用是通过开源工具包(Apache的PDFBox)进行的,通常在JPanel中呈现。 我想拦截这些调用并将它们转换为SVG,这样我就可以构建一个非图形数据模型(例如表格,图形等)。 在这个阶段,我会为任何类型的黑客感到高兴,其中可能包括:

  • 用MyGraphics2D替换Graphics2D库
  • 找到支持SVG输出并捕获它的Graphics2D
  • 拦截对Graphics2D的调用(我不喜欢因为我必须管理仿射变换)

附属问题:Graphics2D是否使用图形库? 在这种情况下,如果我在此级别捕获,则应该应用转换。

我将看一下Batik项目,该项目提供了Graphics2D的扩展以输出SVG文件。

JFreeSVG是另一个需要考虑的选项,它提供了Graphics2D API的快速轻量级实现。