伙计们我想从网址查看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" >
答案 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 ..没有工作..
所以我的解决方案是使用这个库MultithreadDownload和AndroidPDFViewer,你需要首先将它存储在缓存文件夹中,然后在活动中显示它,然后在活动停止或销毁时将其删除。
希望有所帮助......