【问题标题】:MuPDF renders empty pdf file in Android appMuPDF 在 Android 应用程序中呈现空的 pdf 文件
【发布时间】:2014-07-24 05:02:33
【问题描述】:

我试图使用 MuPDF 库在我的应用程序中打开 pdf 文件。我已按照步骤将 Mupdf 与我的项目集成,它适用于我的应用程序以显示文件结构并让我选择 pdf 文件。但是当我点击一个pdf文件时,它会打开一个空白屏幕。它不会抛出任何错误。我从 Play 市场下载的 MuPDF 应用程序运行良好,可以正常渲染 pdf 文件。

我按照这个帖子中的步骤操作:Integrate MuPDF Reader in an app

我把这部分放在我的活动类文件中,希望它能将数据传输到屏幕上:

To open pdf with pre-fix file:

    Uri uri = Uri.parse("path to pdf file");

    Intent intent = new Intent(context, MuPDFActivity.class);

    intent.setAction(Intent.ACTION_VIEW);

    intent.setData(uri);

    context.startActivity(intent);

对可能出现的问题或遗漏有什么建议吗? 任何意见将不胜感激。

更新:我发现,正如评论所述,mupdf 不是由任何班级启动的。所以我更改了我的代码以在 choosePDFActivity.java 中触发该类:

    @Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);

    mPositions.put(mDirectory.getAbsolutePath(), getListView().getFirstVisiblePosition());

    if (position < (mParent == null ? 0 : 1)) {
        mDirectory = mParent;
        mHandler.post(mUpdateFiles);
        return;
    }

    position -= (mParent == null ? 0 : 1);

    if (position < mDirs.length) {
        mDirectory = mDirs[position];
        mHandler.post(mUpdateFiles);
        return;
    }

    position -= mDirs.length;

    Uri uri = Uri.parse(mFiles[position].getAbsolutePath());
    Intent intent = new Intent(this,MuPDFActivity.class);
    intent.setAction(Intent.ACTION_VIEW);
    intent.setData(uri);
    startActivity(intent);
}

现在它打开了 Mupdf,但出现了一些错误:

06-12 10:31:51.875: W/dalvikvm(6551): 异常 Ljava/lang/UnsatisfiedLinkError;初始化 Ltys/app/test/MuPDFCore 时抛出;

现在,当我单击 pdf 文件时,它会弹出错误消息。这正在某个地方。请帮忙!

【问题讨论】:

  • 当您尝试查看 PDF 时,您能在 logcat 中看到任何问题吗?
  • 让我将 logcat 粘贴到主要问题中...
  • logcat 中没有关于 MuPDFActivity 的任何内容,因此它并没有真正的帮助。您应该将日志记录添加到 MuPDFActivity 或使用断点和调试来检查它是否正在启动。如果是,那么您可以尝试找出它为什么可以加载 PDF。
  • 我发现 MuPDF 库使用起来很复杂,也许这可以帮助你stackoverflow.com/questions/24183472/…
  • @Intrications 是的,你是对的。我按照你的建议做了,发现一些关于 mupdfcore 的错误......

标签: java android pdf layout mupdf


【解决方案1】:

您似乎没有将 MuPDF 正确集成到您的项目中。 MuPDF 使用本机代码来完成其渲染,并且本机代码没有被正确包含 - 因此在 logcat 中的 UnsatisfiedLinkError。确保为正在测试的设备(ARM/ARMv7/x86 等)包含正确的 JNI 二进制文件。

另见Android MuPDF Error

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-24
    • 2015-07-05
    • 2013-10-06
    • 2016-12-31
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    相关资源
    最近更新 更多