如何从url中查看应用程序内的pdf

时间:2016-10-21 07:36:05

标签: android android-layout android-webview

伙计们我想从网址查看pdf文件我已经做了一些编码但收到错误。请帮帮我。如果有其他解决方案请提出建议

          @Override
        protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
  Button  button = (Button) findViewById( R.id.mybutt );

    String pdf = "http://www.pc-hardware.hu/PDF/konfig.pdf";
    String doc="<iframe src='http://docs.google.com/gview?embedded=true&url=http://www.pc-hardware.hu/PDF/konfig.pdf;'></iframe>";
WebView  wv = (WebView)findViewById(R.id.webView);
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setPluginsEnabled(true);
wv.getSettings().setAllowFileAccess(true);
wv.loadUrl(doc);
}

布局

        <WebView
          xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/webView"
          android:layout_width="match_parent"
          android:layout_height="match_parent" />

        <LinearLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="bottom"
            android:orientation="vertical" >

4 个答案:

答案 0 :(得分:1)

您只需在webview中加载网址即可,无需iframe。 字符串pdf =&#34; http://www.pc-hardware.hu/PDF/konfig.pdf&#34 ;; wv.loadUrl(PDF);

使用这些免费的开源库进行pdf加载。

https://code.google.com/archive/p/droidreader/ https://code.google.com/archive/p/apv/

答案 1 :(得分:0)

在此之后附加您的PDF网址

String pdfUrl="https://docs.google.com/viewer?url=<PDF_URL>";

替换为您的PDF网址

wv.loadUrl(pdfUrl);

喜欢这个

String pdfUrl="https://docs.google.com/viewer?url=http://www.pc-hardware.hu/PDF/konfig.pdf";

答案 2 :(得分:0)

更改文档字符串网址
String doc="<iframe src='http://docs.google.com/gview?embedded=true&url=http://www.pc-hardware.hu/PDF/konfig.pdf;'></iframe>";

String doc="http://docs.google.com/gview?embedded=true&url=http://www.pc-hardware.hu/PDF/konfig.pdf"

确保PDF在url参数路径中存在。

答案 3 :(得分:0)

首先,如果PDF是公开的......您可以使用google doc url。

实施例,

public void showPdf(MarketStudy marketStudy) {
        String googleDocsUrl = "http://docs.google.com/viewer?embedded=true&url=";
        Intent intent = new Intent(activity, WebviewActivity.class);
        intent.putExtra("URL",googleDocsUrl+Uri.encode(marketStudy.getPath()));
        activity.startActivity(intent);
        activity.overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up);
}

但如果PDF来自私人服务器,则无法使用googledoc网址查看。否则它会显示&#34;没有预览&#34;尽管pdf存在,但仍会显示消息。 (我的情况).. 我已经尝试使用<iframe><object>,WebView ..没有工作.. 所以我的解决方案是使用这个库MultithreadDownloadAndroidPDFViewer,你需要首先将它存储在缓存文件夹中,然后在活动中显示它,然后在活动停止或销毁时将其删除。

希望有所帮助......