使用 PDFbox 存储库的代码中未定义的构造函数
Undefined constructer in code employing the use of PDFbox repository
这是我第一次使用 Maven 存储库,如果解决方案很简单,我们深表歉意。
我的代码如下:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import org.apache.pdfbox.cos.COSDocument;
import org.apache.pdfbox.io.RandomAccessRead;
import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
public class application {
public static void main(String args[]) {
PDFTextStripper pdfStripper = null;
PDDocument pdDoc = null;
COSDocument cosDoc = null;
File file = new File("/Users/Desktop/Corporate reports/previous 'fetch' items/ARM2009.pdf");
try {
PDFParser parser = new PDFParser(new FileInputStream(file));
parser.parse();
cosDoc = parser.getDocument();
pdfStripper = new PDFTextStripper();
pdDoc = new PDDocument(cosDoc);
pdfStripper.setStartPage(1);
pdfStripper.setEndPage(5);
String parsedText = pdfStripper.getText(pdDoc);
System.out.println(parsedText);
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("Failed to parse : " +file);
}
}
}
基本上,第 19 行说:
PDFParser parser = new PDFParser(new FileInputStream(file));
编译时出错。它在说:
构造函数PDFParser(FileInputStream)是
未定义
我不知道该如何处理。我的 IDE 建议将参数转换为 RandomAccessRead 但这只是在 运行 time
以不同的错误结束
请帮忙谢谢
如果您比较 pdfbox v2 vs v1.8 中 pdfparser 的 javadocs,您会注意到构造函数定义已从
PDFParser(InputStream input)
到
PDFParser(RandomAccessRead source)
所以请确保您从 maven 引用了正确的版本。如果您打算坚持使用版本 2,请确保使用类似 RandomAccessFile 的内容,而不是 FileInputStream。
这是我第一次使用 Maven 存储库,如果解决方案很简单,我们深表歉意。
我的代码如下:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import org.apache.pdfbox.cos.COSDocument;
import org.apache.pdfbox.io.RandomAccessRead;
import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
public class application {
public static void main(String args[]) {
PDFTextStripper pdfStripper = null;
PDDocument pdDoc = null;
COSDocument cosDoc = null;
File file = new File("/Users/Desktop/Corporate reports/previous 'fetch' items/ARM2009.pdf");
try {
PDFParser parser = new PDFParser(new FileInputStream(file));
parser.parse();
cosDoc = parser.getDocument();
pdfStripper = new PDFTextStripper();
pdDoc = new PDDocument(cosDoc);
pdfStripper.setStartPage(1);
pdfStripper.setEndPage(5);
String parsedText = pdfStripper.getText(pdDoc);
System.out.println(parsedText);
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("Failed to parse : " +file);
}
}
}
基本上,第 19 行说:
PDFParser parser = new PDFParser(new FileInputStream(file));
编译时出错。它在说:
构造函数PDFParser(FileInputStream)是 未定义
我不知道该如何处理。我的 IDE 建议将参数转换为 RandomAccessRead 但这只是在 运行 time
以不同的错误结束请帮忙谢谢
如果您比较 pdfbox v2 vs v1.8 中 pdfparser 的 javadocs,您会注意到构造函数定义已从
PDFParser(InputStream input)
到
PDFParser(RandomAccessRead source)
所以请确保您从 maven 引用了正确的版本。如果您打算坚持使用版本 2,请确保使用类似 RandomAccessFile 的内容,而不是 FileInputStream。