java - 在java中将svgImage转码为pdf时出现转码器错误“NoSuchMethodError”
问题描述
将 svg 图像转码为 pdf 时出现错误。它总是显示这个错误。这是我的代码和我使用的库。希望能得到大家的帮助。
InputStream inputStream = ByteSource.wrap(elementValue.getImage()).openStream();
FileOutputStream fos = new FileOutputStream("svgImage.svg");
//Get SvgImage from database
int b;
while ((b = inputStream.read()) != -1) {
fos.write(b);
}
//Transcoder
String svg_URI_input = Paths.get("svgImage.svg").toUri().toURL().toString();
TranscoderInput input_svg_image = new TranscoderInput(svg_URI_input);
OutputStream pdf = new FileOutputStream("chessboard.pdf");
TranscoderOutput output_pdf_file = new TranscoderOutput(pdf);
PDFTranscoder transcoder = new PDFTranscoder();
//I debug, it error on this line
transcoder.transcode(input_svg_image, output_pdf_file);
pdf.flush();
pdf.close();
--
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-transcoder</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>com.kitfox.svg</groupId>
<artifactId>svg-salamander</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>de.rototor.pdfbox</groupId>
<artifactId>graphics2d</artifactId>
<version>0.32</version>
</dependency>
<dependency>
<groupId>avalon-framework</groupId>
<artifactId>avalon-framework-api</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>avalon-framework</groupId>
<artifactId>avalon-framework-impl</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-codec</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>fop</artifactId>
<version>1.1</version>
<exclusions>
<exclusion>
<artifactId>avalon-framework-api</artifactId>
<groupId>org.apache.avalon.framework</groupId>
</exclusion>
<exclusion>
<artifactId>avalon-framework-impl</artifactId>
<groupId>org.apache.avalon.framework</groupId>
</exclusion>
</exclusions>
</dependency>
2021-06-30 10:44:00.172 [http-nio-8080-exec-3] 错误 co.jp.regain.controllers.common.exceptions.ExceptionHandlingController.handleError:76 - 请求:http://localhost:8080/ web/operator/pdf/export 引发 org.springframework.web.util.NestedServletException:处理程序调度失败;嵌套异常是 java.lang.NoSuchMethodError: 'void org.apache.commons.logging.impl.SimpleLog.setLevel(int)'
org.springframework.web.util.NestedServletException:处理程序调度失败;嵌套异常是 java.lang.NoSuchMethodError: 'void org.apache.commons.logging.impl.SimpleLog.setLevel(int)'
引起:java.lang.NoSuchMethodError: 'void org.apache.commons.logging.impl.SimpleLog.setLevel(int)'
解决方案
推荐阅读
- android - Firebase 从片段中的数据库获取值
- python - 如何使用 IP 摄像头而不是 USB 网络摄像头检测/识别人脸
- php - 无法从控制器方法传递的 payumoney 成功响应中获取值
- python - Selenium take element screenshot - Google Chrome
- python - Roi 自定义 OpenCV
- php - 通过foreach循环的数组不显示任何数据
- python - 使用现有列的总和和循环创建列
- tfs - TFS - 当所有测试都通过时,VsTest 失败
- wordpress - 在 wordpress 个人计划网站中发布 DataStudio 报告时出现问题
- c# - 让类返回一个字段