问题标签 [batik]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 最小的 Java SVG 引擎
实际工作的最小的 Java SVG 引擎(最小/最小的 jars)是什么?如果您的答案是蜡染,那么最小的 dep 是多少。让它在一个简单的 Java 应用程序中工作的图表?
我查看了 Batik 站点上的依赖关系图,但它看起来像是典型的 Apache 混乱。有更好的选择吗?
java - “未找到 SAX2 驱动程序类 org.apache.crimson.parser.XMLReaderImpl”在 Tomcat 上的 web 应用程序中使用 Batik
这可能与类路径问题有关,但目前我真的不确定,因为在某些机器上我没有收到此错误。
堆栈顶部的错误是SAX2 driver class org.apache.crimson.parser.XMLReaderImpl not found
。为什么我只会在某些环境中收到此错误,而在其他环境中不会?我该如何进一步调查和/或解决这个问题?
环境:
- Mac 或 PC 上的 Jetty == OK
- Mac 上的 Tomcat 5 或 6 == OK
- Win XP 上的 Tomcat 5 或 6 == 错误
- CentOS 上的 Tomcat 6 == 错误
POM 中的版本:
- 蜡染:蜡染:罐子:1.5:编译
- net.sf.saxon:saxon:jar:8.7:compile
- 蜡染:蜡染转码器:jar:1.6-1:编译
- 蜡染:蜡染桥:罐子:1.6-1:编译
- 蜡染:蜡染-gvt:jar:1.6-1:编译
- 蜡染:蜡染-awt-util:jar:1.6-1:编译
- 蜡染:蜡染工具:罐子:1.6-1:编译
- 蜡染:batik-gui-util:jar:1.6-1:compile
- 蜡染:蜡染分机:罐子:1.6-1:编译
- xml-apis:xmlParserAPIs:jar:2.0.2:compile
- 蜡染:蜡染脚本:jar:1.6-1:编译
- 蜡染:batik-svg-dom:jar:1.6-1:compile
- 蜡染:蜡染-dom:jar:1.6-1:编译
- 蜡染:蜡染-css:jar:1.6-1:编译
- 蜡染:蜡染-xml:jar:1.6-1:编译
- 蜡染:蜡染解析器:jar:1.6-1:编译
- fop:fop:jar:0.20.5:编译
- 蜡染:batik-1.5-fop:jar:0.20-5:compile
- xml-apis:xml-apis:jar:1.0.b2:编译
- xalan:xalan:jar:2.4.1:编译
- xerces:xercesImpl:jar:2.2.1:编译
- avalon 框架:avalon 框架:jar:4.0:编译
java - 在 Batik 的 JSVGCanvas 中查找鼠标下的对象
我有一个来自 java 的 Batik 库的 JSVGCanvas 对象。在我的应用程序中,我在示意图中渲染了几个对象。我需要知道鼠标下方是什么组件,这样我才能呈现我从外部源呈现的适当工具提示和描述。
我的问题是,如何在任何给定时间确定光标下方的对象?
java - Learning resources and tutorials for using the Java Batik Library
I am using the Batik library, which is very useful to display SVG graphics in Java. For the basic use case of displaying and rendering an SVG document is quite simple to use. However, I want to do some other advanced graphic manipulation and I am struggling as I don't find any good resource that will allow me to perform the following types of task:
- Detecting the component under the mouse
- Getting a component by id and changing the color used to render
- Manipulate components
- Adding new components
- Detecting mouse clicks on components
Is there any good resource or tips to use this library that you know about?
java - 用蜡染写 unicode 字符不起作用
我正在用 Batik 编写一个用于多语言图像的项目。因此我需要像“sigma”或“alpha”这样的符号。我必须将字符写为文本 - 而不是多边形或字形 - 因为它必须由我的项目再次编写。
如果我在我的 SVGDocument 中写入一个 unicode 字符,它会在调试器中正确显示,但如果我写入 SVG,结果总是有一个?
,或者对于普通字母,A
例如?A
。
我认为这是我的作家的一个问题,但我不知道如何解决它。我知道 SVG 有一些解决方案,比如将 unicode 与&#XXX
or一起使用,σ
但我不能给节点那个字符串,它会以正确的形式写入。
这是简短且希望可以理解的代码示例:
pdf - 如何以编程方式将包含文本的 SVG 文件转换为 PDF 文件(特别是在 CentOS 5.3 x86_64 上)?
我想以编程方式将 SVG 文件转换为 PDF 文件。但是,SVG 文件包含必须在生成的 PDF 文件中可搜索的文本。此外,它还必须适用于 x86_64 架构的 Red Hat Enterprise Linux 5.3 或 CentOS 5.3。如果它是开源的,或者至少不是很贵,那就太好了。
这是我尝试过的。除了 Batik 之外,所有这些都可以在 Debian Lenny 上正常工作。
Inkscape
我可以使用来自http://inkscape.modevia.com/ap的自动包安装它,但是当我从命令行使用它时,文本不可搜索。
Batik rasterizer [原文如此]
将 SVG 文件转换为 PDF 文件时,文本不再可搜索。
svg2pdf
源代码和它的一些依赖项可供下载。我一直试图让它在 CentOS 上编译,但还没有成功。我找到了Debian x86_64 的预编译版本,但它不适用于 CentOS。
rsvg-convert
生成的 PDF 在 CentOS 5.3 上不可搜索。也许安装更新版本的 cairo 会有所帮助。感谢 DaveParillo 提到 rsvg-convert(在超级用户上)。
解决方案(但也许上面的一些内容对读者仍然有用)
princeXML
当从源代码安装时,它在 CentOS 上运行良好。由于某种原因,从 .rpm 安装时它不起作用。谢谢埃里克达尔斯特伦!
fonts - 在 SVG 中渲染 truetype 字体
我在通过 fop 将 svg 中的 truetype 字体渲染为 pdf 时遇到问题。
在最终的 pdf 中,字体是 Times New Roman,而不是我所期望的 truetype 字体。
文档的主要字体系列使用 Type 1 字体,并且还使用了我生成的字体规格,并且这些字体显示正确。我认为字体的 truetype 版本只是为过去的图表添加的。
奇怪的是,这在一个阶段工作,似乎已经停止工作,我现在无法让它恢复工作,因为我不明白它最初是如何工作的。为了尝试让它恢复工作,我经历了 Java 6、Java 5 和 FOP 0.95 和 0.93 以及最新的 FOP 主干的不同组合,但都没有成功。即使在 fop 生成中启用了完整的跟踪,我也没有看到字体被 Times New Roman 取代,但我认为这是因为 Batik 对此渲染负责。
我已经运行了一些示例 Java 代码,并且 AWT 似乎正确地看到了 TrueType 字体,我相信这是 Batik 正在使用的。
我也尝试在 fop.xconf 文件中使用字体替换,但这似乎没有效果。在 fop.xconf 中,我只定义了 Type 1 字体和另一种在 pdf 中正确处理的 True Type Font Zapfdingbats。我是否还应该在此处添加其他 truetype 字体,但检查我们的版本历史,它似乎过去并不存在。
有什么我在这里遗漏的,因为我认为蜡染会采用 windows ttf 字体并渲染它,但这似乎不起作用。任何帮助将不胜感激。谢谢,撞坏了
java - 在 Java 中缩放 SVG
我正在尝试缩放图像,对其进行修改,然后输出为另一种图像格式。到目前为止,我一直在使用apache batik库。对于简单的转换,这很容易。对于裁剪 svg,这很容易。
但是,我似乎无法弄清楚如何缩放到由 svg 创建的完整图像。也就是说,我可以将感兴趣的区域指定为边界矩形,然后在边界矩形上进行缩放,但我不知道如何缩放 svg 的图像。
这是我到目前为止所拥有的:
java - 将 SVG 转码为 PNG 时获取空图像
我正在尝试生成 SVG 图像,然后使用 Apache Batik 将其转码为 PNG。但是,我最终得到一个空图像,我不明白为什么。
我使用来自 SVGDomImplementation 的文档作为我转码的基础(以避免将 SVG 写入磁盘并再次加载它)。这是一个例子:
我的问题是生成的图像是空的,我不明白为什么。有什么提示吗?
java - Swing & Batik:从 SVG 文件创建 ImageIcon?
简而言之,我正在寻找一种使用 batik 库从 SVG 文件制作 ImageIcon 的方法。我不想先将 SVG 光栅化到磁盘,我只想能够从 jar 文件中提取 svg 并将其作为 UI 元素着陆。
我觉得这应该相当容易,但蜡染 javadocs 并没有告诉我我需要知道什么。
(为什么是蜡染?好吧,我们已经在使用它了,所以我们不必运行另一个合法的图书馆。)