Я пытаюсь отобразить pdf файл в приложении, я уже тестировал различные варианты, все из них основаны на библиотеке pdf.js https://github.com/mozilla/pdf.js и с использованием угловых директив, и я пробовал использовать этот https ://github.com/akrennmair/ng-pdfviewer, которые предоставляют директиву, и внутри него есть служба и контроллер, но наша структура приложения немного отличается, и мне пришлось сломать части службы и контроллера, и когда я закончил реализацию не работает. Затем я применил другую директиву https://github.com/sayanee/angularjs-pdf angular-pdf, которая кажется более простой и простой в реализации, но, к сожалению, результат тот же. Он просто не загружает документ, это может быть неправильный файл PDF файла url, я попытался скопировать ту же структуру, что и в примере. Это пример https://github.com/sayanee/angularjs-pdf/tree/мастер/пример для того, чтобы pdf мог загрузить и увидеть его на холсте
Вот как выглядит контроллер, и это в основном то же самое, что и саани
Пример: это моя структура папок
/content
-----/mypdf.pdf
/app
----/JS
-----/pdfviewer
------/partials
--------/canvas.html
------/pdfviewer.html
------/pdfviewer.controller.html
------/pdfviewer.module.html
----/index.html
в моем контроллере.js
$scope.pdfUrl ='./content/mypdf.pdf';
console.log( 'controller PDFViewerCtrl::'+ $scope.pdfUrl);
$scope.scroll = 0;
$scope.loading = 'loading';
$scope.getNavStyle = function(scroll) {
if(scroll > 100) return 'pdf-controls fixed';
else return 'pdf-controls';
};
$scope.onError = function(error) {
console.log(error);
};
$scope.onLoad = function() {
$scope.loading = '';
};
$scope.onProgress = function(progress) {
console.log(progress);
};
in pdfviewer.html Я просто держу холст
<hr>
{{loading}}
<canvas id="pdf" class="rotate0" ng-model="pdfUrl"></canvas>
и в моем pdfviewer.html
<ion-view class="pdfViewer" view-title="PDF" hide-nav-bar="false">
<ion-nav-buttons side="right">
</ion-nav-buttons>
<ion-nav-buttons side="left">
Done
</ion-nav-buttons>
<ion-content>
<div class="wrapper" ng-controller="PDFViewerCtrl">
<ng-pdf template-url="templates/pdfViewer/partials/canvas.html" canvasid="pdf" scale="page-fit" page=1>
</ng-pdf>
</div>
</ion-content>
</ion-view>
модуль выглядит следующим образом:
angular.module('myapp', ['pdf'])
Я также добавил библиотеку pdf.js и директиву в index.html
<script src="js/lib/pdf.js"></script>
<script src="js/directives/angular-pdf.js"></script>
Я вижу, что он вызывает директиву, а затем идет в библиотеку pdf, но, и он висит в PDFJS.getDocument и никогда не возвращается, поэтому я просто вижу загрузку метки.
Я почти уверен, что pdf.js и директивы работают, но я не уверен, работает ли это с гибридным мобильным приложением, используя cordova, Angularjs и Ionic.
Я буду признателен за любое другое предложение отобразить PDF внутри или вне приложения или.
Ну, наконец, я смог интегрировать pdf.js с первым проектом IBM Mobile, после чего я могу отображать pdf файлы внутри мобильного гибридного приложения, поэтому здесь есть и другой вариант, помимо плагина corAAppBrowser https://github.com/apache/cordova-plugin -inappbrowser, и это ссылка, в которой pdf.js и угловое ионное реализовано в первом приложении IBM Mobile.
Я надеюсь, что это может помочь кому-то, кто ищет просмотрщик PDF внутри мобильного гибридного приложения.