如何通过Android网络浏览器显示PDF而不先“下载”

时间:2011-09-15 21:23:30

标签: android pdf browser

有没有办法让Android浏览器自动打开PDF,Word或其他典型文件,而无需完成下载文件的过程,然后让用户从下载应用程序打开文件或通知栏?

我们有一个Web应用程序,其中包含许多我们想要包含的文档,而不必转换为HTML,但是让用户下载文件并手动打开它并不容易培训用户。

在iOS上,这些文件都在浏览器中内嵌显示。我想让浏览器自动将文件启动到Acrobat Reader或QuickOffice或用户必须显示的任何程序。

有谁知道这样做的方法?我知道Google Docs有一些PDF查看支持,但使用我们的网络应用程序的人可能无法在所有情况下访问公共Internet,并且可能会在本地Web服务器上访问。

10 个答案:

答案 0 :(得分:51)

您可以通过将网址附加到:

在Google文档查看器中打开PDF
http://docs.google.com/gview?embedded=true&url=<url of a supported doc>

这将在默认浏览器或WebView中打开PDF。

支持的格式列表为here

答案 1 :(得分:9)

您可以使用此格式,截至4/6/2017。

https://docs.google.com/viewerng/viewer?url=http://yourfile.pdf

只需将http://yourfile.pdf替换为您使用的链接。

答案 2 :(得分:3)

我也需要这个,上面的链接停止工作,这就是我发现使用New Google Drive的原因:

Google提供的服务可以创建PDF格式的链接:不在GDrive中: https://docs.google.com/viewer 只需添加您的网址,即可创建链接和IFrame代码 (仔细看看,你会看到模式并创建没有这个Web服务的链接)

此外,还有一种方法可以存储在Google云端硬盘中的PDF: https://docs.google.com/viewer?srcid=YOUR_GDRIVE_PDF_DOC_ID_HERE&pid=explorer&efh=false&a=v&chrome=false&embedded=true (这可以是链接或iframe的src URL)

我已经在Android上进行了测试,它可以很好地调出PDF查看器。

答案 3 :(得分:3)

具体来说,要为firefox安装pdf.js插件,请不要使用应用商店。相反,从mozilla内部访问addons.mozilla.org并从那里安装它。另外,要查看它是否已正确安装,请转到菜单工具:附加组件(而不是“桌面版”中的“about:plugins”网址)。

(新帐户,否则我会将此作为对上述答案的评论)

答案 4 :(得分:2)

不幸的是,Android设备上的本机浏览器不支持此类文件。让我们看看在4.0中我们是否能够做到这一点。

答案 5 :(得分:2)

String format = "https://drive.google.com/viewerng/viewer?embedded=true&url=%s";
String fullPath = String.format(Locale.ENGLISH, format, "PDF_URL_HERE");
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(fullPath));
startActivity(browserIntent);

答案 6 :(得分:1)

您可以使用此

webView.loadUrl("https://docs.google.com/viewer?url=" + "url of pdf file"); 

答案 7 :(得分:1)

  Try this, worked for me.

    WebView view = (WebView) findViewById(R.id.yourWebView);

    view.getSettings().setJavaScriptEnabled(true);
    view.getSettings().setPluginState(WebSettings.PluginState.ON);
    view.loadUrl("http://docs.google.com/gview?embedded=true&url="
                  +"your document link(pdf,doc,docx...etc)");

答案 8 :(得分:1)

public class MainActivity extends AppCompatActivity {

    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                openURL("http://docs.google.com/viewer?url=" + " your pdf link ");
            }
        });
    }

    private void openURL(String s) {
        Uri uri = Uri.parse(s);
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(uri,"text/html");
        startActivity(intent);
    }
}

答案 9 :(得分:-1)

  • 下载适用于Android的acrobat reader .apk文件以显示pdf文件
  • 将您的pdf文件放在SD卡上
  • 使用以下代码片段

    File file= new File("/sdcard/test.pdf");
    Uri path=Uri.fromFile(file);
    Intent i =new Intent(Intent.ACTION_VIEW);
    i.setDataAndType(path,"application/pdf");
    i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(i);