gpt4 book ai didi

java - 如何使用PDFReader读取文件

转载 作者:行者123 更新时间:2023-12-02 12:57:16 24 4
gpt4 key购买 nike

我有一个方法public void readFile(File inputFile, File outputFile),我想使用PDFReader读取文件,但是阅读器只读取String 值,我无法对字符串值进行硬编码,因为它是由用户在导出文件时给出的。

我使用了FileUtils.readFileToString(inputFile),但我在行PdfReader reader = new PdfReader(input);

请提出一种实现此目标的方法。

代码片段:

public void readFile(File inputFile, File outputFile){
String input = FileUtils.readFileToString(inputFile);
PdfReader reader = new PdfReader(input);

//some more code
}

最佳答案

PdfReader 类具有不同的构造函数。当您使用String创建实例时,您应该传递文件路径(例如myFolder/my.pdf)。您正在做的事情完全错误!您正在将二进制文件读入字符串。该字符串不是文件路径!

您可以使用 FileInputStream 轻松创建 PdfReader 实例。

不清楚您使用的是哪个版本的 iText。请确保您使用的是 iText 7。在 iText 7 中,PdfReader 具有以下 constructors :

  • PdfReader(InputStream是)
  • PdfReader(InputStream,ReaderProperties 属性)
  • PdfReader(IRandomAccessSource byteSource,ReaderProperties 属性)
  • PdfReader(字符串文件名)
  • PdfReader(字符串文件名,ReaderProperties 属性)

如果由于某种原因您需要使用 iText 5,那么这是 list of constructors you can use :

  • PdfReader(byte[] pdfIn)
  • PdfReader(byte[] pdfIn, byte[]ownerPassword)
  • PdfReader(byte[] pdfIn, 证书证书,ExternalDecryptionProcess externalDecryptionProcess)
  • PdfReader(InputStream是)
  • PdfReader(InputStream is, byte[]ownerPassword)
  • PdfReader(InputStream inputStream、证书证书、ExternalDecryptionProcess externalDecryptionProcess)
  • PdfReader(PdfReader阅读器)
  • PdfReader(RandomAccessFileOrArray raf, byte[]ownerPassword)
  • PdfReader(RandomAccessFileOrArray raf, byte[]ownerPassword, boolean 部分)
  • PdfReader(字符串文件名)
  • PdfReader(字符串文件名, byte[] 所有者密码)
  • PdfReader(字符串文件名,字节[]所有者密码, boolean 部分)
  • PdfReader(字符串文件名,证书证书,ExternalDecryptionProcess externalDecryptionProcess)
  • PdfReader(字符串文件名、证书证书、 key 证书Key、字符串证书KeyProvider)
  • PdfReader(URL url)
  • PdfReader(URL url, byte[]ownerPassword)

正如您所看到的,iText 5 比 iText 7 更加困惑。我们从头开始完全重写了 iText,以摆脱大量不再相关的遗留类和方法。 iText 7 的 API 现在更加流畅了。

关于java - 如何使用PDFReader读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44388631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com