如何从我的本地设备在 webView 上读取 pdf 文件
Posted
技术标签:
【中文标题】如何从我的本地设备在 webView 上读取 pdf 文件【英文标题】:How to read pdf file on webView From my Local device 【发布时间】:2015-03-20 12:30:48 【问题描述】:我有两种读法 第一个:Pdf 从 url OnWebView 读取:它的工作 第二:Pdf 从本地路径读取 OnWebView:dosent working
(/data/data/com.akfix.navigationdrawer/files/550192f3a1583.pdf)
第二张图表不工作。而且我没有任何错误日志。我在做什么,
这里是我的 Pdf 阅读器课程;
public class PdfReader extends Activity
String pdf;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pdf_reader);
WebView webview = (WebView) findViewById(R.id.webView3);
Bundle extras = getIntent().getExtras();
if (extras != null)
pdf = extras.getString("pdfUrl");
if (extras.getString("catalogPdfUrl") != null)
String pdfPath = extras.getString("catalogPdfUrl");
Uri path = Uri.parse(pdfPath);
viewPdf(path);
else
webview.getSettings().setjavascriptEnabled(true);
pdf.replaceAll("\"", "");
webview.loadUrl("http://docs.google.com/gview?embedded=true&url=" + pdf);
private void viewPdf(Uri file)
Intent intent;
intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(file, "application/pdf");
try
startActivity(intent);
catch (ActivityNotFoundException e)
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("No Application Found");
builder.setMessage("Download one from android Market?");
builder.setPositiveButton("Yes, Please",
new DialogInterface.OnClickListener()
@Override
public void onClick(DialogInterface dialog, int which)
Intent marketIntent = new Intent(Intent.ACTION_VIEW);
marketIntent
.setData(Uri
.parse("market://details?id=com.adobe.reader"));
startActivity(marketIntent);
);
builder.setNegativeButton("No, Thanks", null);
builder.create().show();
请帮帮我。
【问题讨论】:
既然是本地的,为什么需要在webview中显示呢? 因为我的老板很旺 :) github.com/JoanZapata/android-pdfview ,我在我的应用程序中使用过这个库,简直太棒了@user3003883 如果对你有帮助,请在下方接受我的回答 【参考方案1】:既然是本地的,为什么需要在 webview 中显示呢?
我在我的应用程序中使用了this library,简直太棒了
加载 PDF 文件
pdfView.fromAsset(pdfName)
.pages(0, 2, 1, 3, 3, 3)
.defaultPage(1)
.showMinimap(false)
.enableSwipe(true)
.onDraw(onDrawListener)
.onLoad(onLoadCompleteListener)
.onPageChange(onPageChangeListener)
.load();
【讨论】:
以上是关于如何从我的本地设备在 webView 上读取 pdf 文件的主要内容,如果未能解决你的问题,请参考以下文章
当设备在 react-native 中离线时,在 webview 中显示本地图像