如何从附加到 Google Docs View 的 android 文件路径中打开 .pdf 文件

Posted

技术标签:

【中文标题】如何从附加到 Google Docs View 的 android 文件路径中打开 .pdf 文件【英文标题】:how to open .pdf file form android file path appended to Google Docs View 【发布时间】:2017-06-09 04:45:16 【问题描述】:

我正在使用InAppBrower 打开 pdf 文件,它不支持 .pdf 文件,所以我选择使用 gview 来支持它

我的文件路径 file:///data/user/0/com.schneider.and/files/Attendance_Policy_Ver_1.0.pdf

这是我的 inappbrower 代码

//the below code works file
// var url = https://docs.google.com/gview?embedded=true&url=http://unec.edu.az/application/uploads/2014/12/pdf-sample.pdf

//the below code is not working showing blank screen 
    var url = https://docs.google.com/gview?embedded=true&url=file:///data/user/0/com.schneider.and/files/Attendance_Policy_Ver_1.0.pdf ;


//my inappbrowser code
    const browser = this.iab.create(url, '_blank', 'location=yes
,EnableViewPortScale=yes');

我的 inappbrowser 窗口出现空白屏幕。

【问题讨论】:

【参考方案1】:

首先参考这个answer 在android 中以Inappbrowser 启动pdf 文件。

我认为您不能以这种方式提供本地文件路径。

InAppBrowser 主要支持 Web 内容。它的方式类似于 Androids WebView

引用Inappbrowser - Apache Cordova,

您可以在应用程序中显示有用的文章、视频和网络资源。用户无需离开您的应用即可查看网页。 InAppBrowser 窗口的行为类似于标准 Web 浏览器,无法访问 Cordova API。因此,如果您需要加载第三方(不受信任)内容,建议使用 InAppBrowser

请检查 this 格式以打开本地 URI(html 页面)。

您可以使用ngCordova-FileOpener2 从设备存储中打开文件(包括 pdf)。这使用默认应用程序打开特定类型的文件。

工作代码sn-p -

<body >
    <ion-pane>
      <ion-header-bar class="bar-stable">
        <h1 class="title">Ionic Blank Starter</h1>
      </ion-header-bar>
      <ion-content ng-controller="FileOpenerController">
        <button class="button button-full button-positive" ng-click="openPDF()">
          Open PDF File
        </button>
      </ion-content>
    </ion-pane>
</body>

然后在 javascript 文件中使用这个 -

app.controller('FileOpenerController', function($scope, $cordovaFileOpener2, $ionicPlatform) 

    $scope.openPDF= function() 
        $cordovaFileOpener2.open(
            '/sdcard/Download/109.pdf',
            'application/pdf'
        ).then(function() 
            console.log('Success');
        , function(err) 
        console.log('An error occurred: ' + JSON.stringify(err));
        );
    ;           
);

完整教程和代码可以在here找到。

【讨论】:

我试过你的答案,但我无法打开 pdf 文件我什至没有黑屏我黑屏 2 到 3 秒然后自动关闭 您尝试过link 中的教程吗? (与答案中发布的相同)

以上是关于如何从附加到 Google Docs View 的 android 文件路径中打开 .pdf 文件的主要内容,如果未能解决你的问题,请参考以下文章

从 Google Cloud 自动将重复数据附加到 BigQuery 的最简单方法

如何使用 BigQuery Python API 附加查询结果

如何将图像从 Android 中的 Drawable 附加到彩信?

有没有办法在仅附加模式下使用 Google Apps 脚本将数据从 BigQuery 加载到 Google 表格?

google docs电子表格导出:如何从时间、日期中删除撇号[关闭]

使用 Zend Gdata 从 Google Docs 中删除文档