android - PDFBOX 在 Android 中的使用

标签 android pdfbox

我无法在 Android 模拟器中使用 pdfbox 运行 pdf 文本提取。然而,当作为独立的 java 应用程序运行时,代码运行良好。

使用了 PDFBOXv1.8.4,并且使用 pdfbox jar 正确设置了构建路径。可能出了什么问题?

我还看到一些建议不要使用 pdfbox 的帖子,因为 android 库不支持可绘制对象(java.awt.*)。事实真的如此吗?我仍然希望用 pdfbox 解析我的简单 pdf 文件(仅文本)吗?

代码如下

public static void PdftoText(InputStream input) 
{
    PDFParser parser ; 
    COSDocument cosDoc;
    PDFTextStripper pdfStripper;
    PDDocument pdDoc;
    String parsedText;
    try
    {
        parser = new PDFParser(input);
        parser.parse();

        cosDoc = parser.getDocument();
        pdDoc = new PDDocument(cosDoc);

        pdfStripper = new PDFTextStripper();


        if(pdDoc != null){

            pdfStripper.setWordSeparator(":");
            parsedText = pdfStripper.getText(pdDoc);

            System.out.println(parsedText);             
        }

    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    return null;
}

这是我遇到的异常

03-26 13:17:57.046: I/dalvikvm(951): Failed resolving Lorg/apache/pdfbox/pdmodel/PDDocument; interface 1617 'Ljava/awt/print/Pageable;'
03-26 13:17:57.079: W/dalvikvm(951): Link of class 'Lorg/apache/pdfbox/pdmodel/PDDocument;' failed
03-26 13:17:57.366: D/dalvikvm(951): GC_FOR_ALLOC freed 314K, 13% free 3097K/3528K, paused 278ms, total 278ms
03-26 13:17:57.366: E/dalvikvm(951): Could not find class 'org.apache.pdfbox.pdmodel.PDDocument', referenced from method org.apache.pdfbox.pdfparser.PDFParser.getPDDocument
03-26 13:17:57.377: W/dalvikvm(951): VFY: unable to resolve new-instance 2233 (Lorg/apache/pdfbox/pdmodel/PDDocument;) in Lorg/apache/pdfbox/pdfparser/PDFParser;
03-26 13:17:57.377: D/dalvikvm(951): VFY: replacing opcode 0x22 at 0x0000
03-26 13:17:57.596: I/dalvikvm(951): Failed resolving Lorg/apache/pdfbox/pdmodel/PDDocument; interface 1617 'Ljava/awt/print/Pageable;'
03-26 13:17:57.696: W/dalvikvm(951): Link of class 'Lorg/apache/pdfbox/pdmodel/PDDocument;' failed
03-26 13:17:57.707: D/dalvikvm(951): DexOpt: unable to opt direct call 0x39b3 at 0x06 in Lorg/apache/pdfbox/pdfparser/PDFParser;.getPDDocument

最佳答案

我建议您使用TomRoush/PdfBox-Android !我遇到了完全相同的问题并且它解决了它,所以为什么不尝试一下呢! ;-)

关于android - PDFBOX 在 Android 中的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22671648/

相关文章:

android - 为动态 GridView/ListView 实现 OnItemClickListener()

android - Asynctask .get() 奇怪的行为

pdfbox - 如何更改pdfbox中的文本高度

java - 无法使用 PDFBox 使用 main() 中的单独方法将页面添加到 PDF

java - 如何使用 Java 对具有可见签名和文本的 PDF 文档进行数字签名

android - APK 支持的设备列表与 Google Play 不匹配

java - getParseObject() 返回 null

android - 更改单选按钮的圆圈颜色

java - 解析二进制文件时出错

java - 更改 PDFBox 日志记录级别