zoukankan      html  css  js  c++  java
  • 关于Itext 报错-java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable

      如果我们在用iText 做为java 为PDF 文档加水印的时候 报如下异常 

    java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable
        com.itextpdf.text.pdf.PdfEncryption.<init>(PdfEncryption.java:147)
        com.itextpdf.text.pdf.PdfReader.readDecryptedDocObj(PdfReader.java:779)
        com.itextpdf.text.pdf.PdfReader.readDocObj(PdfReader.java:1156)
        com.itextpdf.text.pdf.PdfReader.readPdf(PdfReader.java:511)
        com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:170)
        com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:159)
        com.fh.util.SetWarter.setWatermark(SetWarter.java:62)
        com.fh.util.SetWarter.setpdfWater(SetWarter.java:37)
        com.fh.controller.Relatedlaw.relatedlaw.RelatedLawController.save(RelatedLawController.java:231)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:498)
        org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
        org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)

    或 一下异常:

    com.itextpdf.text.exceptions.BadPasswordException:: PdfReader not opened with owner password (未设置加密密码)
    或是
    com.itextpdf.text.exceptions.BadPasswordException: PdfReader not opened with owner passwor (设置正确加密密码后)

     解决方法:

      首先下载一个jar包: bcprov-jdk15on-1.57.jar

      将包导入项目中之后, 可能会出现以下异常:

    com.itextpdf.text.exceptions.BadPasswordException:: PdfReader not opened with owner password (未设置加密密码)
    或是 com.itextpdf.text.exceptions.BadPasswordException: PdfReader not opened with owner passwor (设置正确加密密码后)

      那 我们的解决方法是 :

        PdfReader reader = new PdfReader(input);
            reader.unethicalreading = true; // 新加这段代码, 就能将密码报错问题解决
  • 相关阅读:
    763. 划分字母区间(贪心算法)
    1282. 用户分组(贪心算法)
    698. 划分为k个相等的子集
    560. 和为K的子数组
    面试题 16.10. 生存人数
    Python:对列表进行排序并相应地更改另一个列表?
    数据竞赛总结
    面试提问之请你介绍一下xxx方法
    常用数学符号读法
    round() 函数
  • 原文地址:https://www.cnblogs.com/Mr-Kenson/p/9810044.html
Copyright © 2011-2022 走看看