public static void main(String[] args) throws Exception { InputStream imageInputStream = new FileInputStream(new File("d:/temp/sign.png")); byte[] buffer = new byte[4096]; int n; ByteArrayOutputStream output = new ByteArrayOutputStream(); while (-1 != (n = imageInputStream.read(buffer))) { output.write(buffer, 0, n); } InputStream inputStream = new FileInputStream(new File("d:/temp/testpdf.pdf")); // 读取模板文件 PdfReader reader = new PdfReader(inputStream); // 目标文件路径 PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(new File("d:/temp/testpdf_result.pdf"))); Document documentPd = new Document(); // 获取所在页和坐标,左下角为起点 float x = -7; float x2 = documentPd.getPageSize().getWidth(); float y = documentPd.getPageSize().getHeight() / 2 - 80; float y2 = documentPd.getPageSize().getHeight(); // 读图片 Image image = Image.getInstance(output.toByteArray()); // 获取操作的页面 PdfContentByte under = stamper.getOverContent(1); // 根据域的大小缩放图片 image.scaleToFit(100, 100); // 添加图片 image.setAbsolutePosition(x, y); under.addImage(image); stamper.close(); ///就是这行报错。。。。 reader.close(); }
运行以上这段段时时,报错:
java.lang.AbstractMethodError: javax.xml.parsers.DocumentBuilderFactory.setFeature
解决方法:在代码开头加上如下这行,即可解决:
System.setProperty("javax.xml.parsers.DocumentBuilderFactory","com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");
- DocumentBuilderFactory AbstractMethodError setFeature parsers javaxdocumentbuilderfactory abstractmethoderror setfeature setfeature abstractmethoderror documentbuilderfactory abstractmethoderror springframework ribbonloadbal abstractmethoderror错误tomcat filter javax servlet javax nosuchmethodexception httpservletresponse class jaxbexception context javax servlet办法javax