2014-06-12 89 views
2

我正在尋找一種解決方案,以在使用AngularJS和Cordova/Phonegap開發的移動應用程序中顯示文檔。AngularJS - 我可以在HTML文件中顯示文檔嗎?

我正在使用返回文件原始內容的Web服務,因此例如我使用我的AngularJS服務來使用Web服務來獲取文件,它返回的是文件的原始內容。在下面顯示的情況下,它是一個Word文檔。但它可能是PDF,Excel,Powerpoint等...

我是相對較新的AngularJS,只有一些與HTML和Javascript的經驗我正在尋找使用從Web服務的原始數據的最佳方法指導在我的應用程序中內聯顯示文檔。

下面是我當前的代碼和來自我的設備的圖像,以顯示我目前正在獲取的內容。我的問題是,從這裏獲取文檔到應用程序可見狀態的最佳方法是什麼?

我的服務:

myApp.services.factory('DownloadDocResource', ['$resource', function ($resource) { 
    return $resource('http://myWebSerivceURL/Documents/myTestDoc.doc', {}, {'query': {method: 'GET', isArray: false}}); 
}]); 

myApp.services.factory('DownloadDocService', ['$q', 'DownloadDocResource', function($q, DownloadDocResource) { 
return { 
    getDocument: function() { 
     var delay = $q.defer(); 
     DownloadDocResource.query(
      function (response) { 
       delay.resolve(response); 
      }, 
      function (response) { 
       delay.reject("can't get document source"); 
      }); 
     return delay.promise; 
    } 
} 
}]); 

我的控制器:

myApp.controllers.controller("DownloadDocCtrl", ['$scope', 'DownloadDocService', 
function ($scope, DownloadDocService) { 
    DownloadDocService.getDocument().then(function (document) { 
     $scope.document = document; 
    }); 
} 
]); 

我的HTML:

<div style="color:#FFFFFF" ng-controller="DownloadDocCtrl"> 
{{document}} 
</div> 

結果:

outcome

回答

1

不,你必須有一些方法來解析文檔。 DocX實際上是一個巨大的XML文件,我非常肯定,除非微軟提供了一種使用silverlight來實現這一點的方法,否則它可能無法單獨使用angular來完成。但是,您可能可以在您的類似應用程序上使用一些原生意向...或者您可以使用某些doc庫編寫自定義意圖。我強烈建議http://poi.apache.org/

這樣的回答:

這裏有一些鏈接,可能是在創造這個意圖取用有用。用戶可能需要一些對發出.doc mimetype的意圖有反應的東西。但文檔應該清除一些。

Is there an Intent for viewing documents (Word, Excel, Powerpoint, PDF, etc.) in Android?

http://devgirl.org/2013/07/17/tutorial-how-to-write-a-phonegap-plugin-for-android/

1
  1. 會將您的所有用戶對文件例如:Word,PDF相同的應用程序時,Excel? 等?
    1. 您是否正在針對任何特定的客戶端應用程序?例如所有用戶都應該安裝Microsoft Office?

上述問題也將決定你從數據庫/服務獲取該文件的格式。用戶是否可以選擇下載文件,然後使用其首選/已安裝的應用程序打開?或者你正在開發一個通用的文件查看器?

+0

在應用程序中嵌入通用查看器將是首選選項,但獲取文檔下載並允許用戶隨後使用其首選應用程序打開該應用程序將是可以接受的。 –

相關問題