为了账号安全,请及时绑定邮箱和手机立即绑定

无法使用 itextpdf java ecrypt pdf - 挂起

无法使用 itextpdf java ecrypt pdf - 挂起

慕哥9229398 2021-11-11 16:04:45
我正在尝试将文本文件转换为 pdf 并在此过程中传递密码。方法是这样的:public static void convertStatementFiles(File sourceDir, File destDir, String logoImgPath, String backImagePath, String threadId) {    log.debug("Attempting File Conversion to PDF........");    FilenameFilter only = new OnlyExt("LST");    String[] filenames = sourceDir.list(only);    log.debug("Source Files" + sourceDir.getAbsolutePath());    Config cfg = new Config();    try {        for (int k = 0; k < filenames.length; k++) {            FileInputStream fs = new FileInputStream(sourceDir.getAbsolutePath() + System.getProperty("file.separator") + filenames[k]);            BufferedReader br = new BufferedReader(new InputStreamReader(fs));            String accountNumber;            for (int j = 0; j < 11; j++) {                br.readLine();            }            accountNumber = br.readLine().trim().substring(0, 13);            File img = new File(logoImgPath);            if (!img.exists()) {                FileUtils.writeByteArrayToFile(new File(logoImgPath), cfg.getLogoImage());            }            //Get Background Image            File backImg = new File(backImagePath);            if (!backImg.exists()) {                FileUtils.writeByteArrayToFile(new File(backImagePath), cfg.getBackgroundImage());            }如果没有这条线writer.setEncryption(PdfWriter.ENCRYPTION_AES_128, password, password, PdfWriter.AllowPrinting);,进程当然会在没有密码的情况下完成,但是一旦这条线在那里,进程就会在此时挂起。我究竟做错了什么?
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

我想出了问题所在,尽管我应该为可能面临相同问题的任何人发布答案。问题不在于代码,而bcprov-jdk在于类路径中的库。我有这个库的不同版本,当我取出其中一个时,问题就解决了。


查看完整回答
反对 回复 2021-11-11
  • 1 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信