提问人:Usman lqbal 提问时间:11/9/2023 更新时间:11/9/2023 访问量:40
在 Android Studio 中使用用于阅读 .pdf 的 PDFBOX 3.0.0 库
pdfbox 3.0.0 library using in android studio for reading .pdf
问:
我正在尝试读取 .pdf 文件,因为我在活动按钮单击中使用以下代码,但每次它向我显示错误时都不起作用。'Loader.loadPDF(file);'
public void ReadMyPdfFile(View v){
Thread thread = new Thread(new Runnable(){
@Override
public void run() {
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "mPDF.pdf");
List<String> pageTexts = new ArrayList<>();
PDDocument pdDocument = null;
try {
pdDocument = Loader.loadPDF(file);//<-- error on this line
int k = 0;
} catch (IOException e) {
Log.i(TAG, "ReadMyPdfFile: Exception++ " + e.getMessage());
throw new RuntimeException(e);
}
}
洛格猫
java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/Point; at org.apache.pdfbox.pdmodel.PDDocument.<clinit>(PDDocument.java:104) at org.apache.pdfbox.pdfparser.PDFParser.createDocument(PDFParser.java:209) at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:187) at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:156) at org.apache.pdfbox.Loader.loadPDF(Loader.java:466) at org.apache.pdfbox.Loader.loadPDF(Loader.java:348) at org.apache.pdfbox.Loader.loadPDF(Loader.java:303) at org.apache.pdfbox.Loader.loadPDF(Loader.java:246)
在“build.gradle”中添加了以下依赖项
implementation 'org.apache.pdfbox:pdfbox:3.0.0'
implementation 'org.apache.pdfbox:fontbox:3.0.0'
任何人都可以帮助我解决这个问题吗?
答:
您不能在 Android 上使用普通的 PDFBox,因为它依赖于 Android 上的 Java 不使用的标准 Java 图形库。awt
有一个适用于 Android 的端口,因此请使用以下依赖项
dependencies {
implementation 'com.tom-roush:pdfbox-android:2.0.27.0'
}
虽然我发现内置的 pdf 库 PDFDocument 和 PdfRenderer 足够好,不需要外部库,或者它们的许可/兼容性问题。pdfbox
itext
评论
'.pdf'
PDFDocument
PdfRenderer
'itextg'
itext
评论