Android pdf解析方案

最近在做一个健康类项目,要求用pdf展示体检报告,ios webview支持展示pdf,android的不支持,后来只能把pdf下载下来,再在程序中嵌入pdf查看,本来采用pdfViewer,但是发现有的pdf会报错,不稳定,上网搜了好久,也没有解决方案,后来换成了mupdf,按理说应该去github找star和fork最多的,说得好有道理的样子,我就是这样做的,然而还是没有解决,后来google到了一个帖子,说这个可以,下面进入正题,上链接:

https://github.com/geek5nan/AndroidMuPDFDemo

这个是可以解析pdf的但是项目要求pdf上下滑动翻页,但这个项目是左右滑动的,别着急,博主有办法:

将项目中onLayout2方法换成下面这个

protected void onLayout2(boolean changed, int left, int top, int right, int bottom) {
// super.onLayout(changed, left, top, right, bottom);


// "Edit mode" means when the View is being displayed in the Android GUI
// editor. (this class
// is instantiated in the IDE, so we need to be a bit careful what we
// do).
if (isInEditMode())
return;


View cv = mChildViews.get(mCurrent);
Point cvOffset;


if (!mResetLayout) {
// Move to next or previous if current is sufficiently off center
if (cv != null) {
cvOffset = subScreenSizeOffset(cv);
// cv.getRight() may be out of date with the current scale
// so add left to the measured width for the correct position
// if (cv.getLeft() + cv.getMeasuredWidth() + cvOffset.x + GAP/2
// + mXScroll < getWidth()/2 && mCurrent + 1 <
// mAdapter.getCount()) {
if (cv.getTop() + cv.getMeasuredHeight() + cvOffset.y + GAP / 2 + mYScroll < getHeight() / 2
&& mCurrent + 1 < mAdapter.getCount()) {
postUnsettle(cv);
// post to invoke test for end of animation
// where we must set hq area for the new current view
mStepper.prod();


onMoveOffChild(mCurrent);
mCurrent++;
onMoveToChild(mCurrent);
}


// if (cv.getLeft() - cvOffset.x - GAP/2 + mXScroll >=
// getWidth()/2 && mCurrent > 0) {
if (cv.getTop() - cvOffset.y - GAP / 2 + mYScroll >= getHeight() / 2 &a

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Android项目开发中,处理PDF文件是一项常见的需求。Android提供了一些API和库,可以方便地进行PDF文件的创建、查看和编辑。 首先,我们可以使用Android的Graphics类来创建PDF文件。通过Canvas对象,我们可以在PDF上进行绘制,添加文本、图形、图片等内容。然后使用PdfDocument类将Canvas保存为PDF文件。这样,我们就可以在应用中生成PDF文件,例如生成报告、表格等。 其次,为了实现PDF文件的查看,我们可以使用Android提供的PdfRenderer库。该库允许我们从本地存储或网络上加载PDF文件,并将其渲染到Android应用的界面上。通过该库,我们可以实现类似于阅读器的功能,让用户能够在应用中浏览和翻页查看PDF文件。 另外,如果我们需要在Android应用中编辑PDF文件,可以使用第三方库,如iText或PDFTron。这些库提供了丰富的API,包括添加、删除、修改PDF文件的内容,还可以对PDF进行加密、签名等操作。通过使用这些库,我们可以开发出具有PDF编辑功能的Android应用,满足用户对PDF文件的各种需求。 总而言之,Android项目开发中涉及到PDF的处理,我们可以通过Android自带的API和库,或者使用第三方库来实现。无论是创建PDF文件、查看PDF文件,还是编辑PDF文件,都有相应的解决方案可以选择。这些功能的实现将极大地丰富我们开发Android应用的能力。 ### 回答2: Android项目开发中,如果需要生成或者处理PDF文件,有以下几种常见的方法: 首先,可以使用开源库 iText 来生成和处理PDF文件。iText 提供了丰富的API,可以在Android项目中使用。可以通过iText实现创建PDF文档、添加文本、图片、表格、链接等元素,还可以对已有的PDF文件进行编辑、删除、合并等操作,非常灵活方便。 其次,还可以使用Android官方提供的PdfDocument类来生成PDF文件。PdfDocument类是在Android 5.0(API level 21)引入的,用于创建一个PDF文档并添加页面、内容等元素。通过该类,可以很方便地创建、编辑和保存PDF文件。 此外,也可以考虑使用第三方开源库 pdfbox-android 或者 mupdf-android 来进行PDF文件的生成和处理。pdfbox-android 是基于Apache PDFBox库的一个Android版,可以用于在Android项目中进行PDF的创建、编辑、解析等操作;而mupdf-android 则是MuPDF库的Android版本,提供了丰富的PDF处理功能,包括文本处理、渲染、解析等。 总结来说,Android项目开发中如果需要处理PDF文件,可以选择使用iText、PdfDocument、pdfbox-android或者mupdf-android等开源库,根据具体需求选择合适的方法来生成和处理PDF文件。这些方法都可以在Android平台上实现PDF的创建、编辑、解析和渲染等功能,方便开发人员在项目中应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值