Android PDF阅读器

4
我希望使用Android PDF库http://andpdf.sourceforge.net/,但是我遇到了同样的错误。日志如下:
 ST='file 'no file selected' not found'
 ST='reading page 1, zoom:1.0'

我的课程:

public class Reader extends PdfViewerActivity {

 public int getPreviousPageImageResource() { return R.drawable.left_arrow; }
 public int getNextPageImageResource() { return R.drawable.right_arrow; }
 public int getZoomInImageResource() { return R.drawable.zoom_in; }
 public int getZoomOutImageResource() { return R.drawable.zoom_out; }
 public int getPdfPasswordLayoutResource() { return R.layout.pdf_file_password; }
 public int getPdfPageNumberResource() { return R.layout.dialog_pagenumber; }
 public int getPdfPasswordEditField() { return R.id.etPassword; }
 public int getPdfPasswordOkButton() { return R.id.btOK; }
 public int getPdfPasswordExitButton() { return R.id.btExit; }
 public int getPdfPageNumberEditField() { return R.id.pagenum_edit; }
}

并且

public class StartScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    Intent intent = new Intent(this, Reader.class);
     intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, "/sdcard/test.pdf");
     startActivity(intent);
}
}

这个库在渲染方面有同样的问题 :( 有时候pdf文件的一些部分没有加载。 - Yuriy Aizenberg
你看到我上次告诉你的那个了吗?对我来说它工作得很好。检查一下你的PDF文件,也许是你下载或复制时出错了。 - Omarj
3个回答

4

让我知道这些是否有帮助;) - Omarj
1
我需要文档或教程。 - Yuriy Aizenberg
@YuriyAizenberg 看看这个答案,它非常完美。 https://dev59.com/AGgu5IYBdhLWcg3wrY4m#11153601 - Omarj

1
现在我们有这个很棒的用于PDF查看的库:

https://github.com/JoanZapata/android-pdfview

这个库非常易用,功能也很丰富:

Android PDFView是一个为Android提供快速PDFView组件的库,具有动画、手势和缩放功能。它基于VuDroid解码PDF文件。

只需在XML中包含视图,并按以下方式使用即可:

pdfView.fromAsset(pdfName)
    .pages(0, 2, 1, 3, 3, 3)
    .defaultPage(1)
    .showMinimap(false)
    .enableSwipe(true)
    .onDraw(onDrawListener)
    .onLoad(onLoadCompleteListener)
    .onPageChange(onPageChangeListener)
    .load();

1
注意:这是一个GPL库。可能不适合所有项目。 - steipete
1
@steipete 这基本上使得大多数Android项目都无法使用,因为你必须公开整个应用程序的代码。这似乎不是库本身的问题,而是其中一个依赖项的问题。作者说:“不幸的是,我的库正在使用VuDroid,它使用MuPDF来呈现pdf页面。muPDF根据GPL3许可证授权,所以我被迫使用相同的许可证。” - CoolCodeBro

0

使用 PdfViewPager,您可以轻松加载和显示 PDF 文件。您所需的所有代码只有:

PdfViewPager pdfViewPager = new PDFViewPager(this, "sample.pdf");
setContentView(pdfViewPager);

或者您可以像这样将其嵌入到您的布局中:

<es.voghdev.pdfviewpager.library.PDFViewPager
  android:id="@+id/pdfViewPager"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  app:assetFileName="sample.pdf"/>

如果你想了解更多,请查看该库。


当我缩小PDF时,会显示此错误,请帮忙。我正在使用您上面提到的相同的PDFViewerPager。进程:com.pdffilereader, java.lang.IllegalArgumentException: pointerIndex超出范围 at android.view.MotionEvent.nativeGetAxisValue(Native Method) at android.view.MotionEvent.getX(MotionEvent.java:2057) - Sunil Chaudhary

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接