Отображение PDF-файла в приложении IBM Mobile fist для платформы с использованием библиотеки pdf.js и Angularjs

0

Я пытаюсь отобразить 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
cordova
ibm-mobilefirst
pdf.js

1 ответ

0
Лучший ответ

Ну, наконец, я смог интегрировать pdf.js с первым проектом IBM Mobile, после чего я могу отображать pdf файлы внутри мобильного гибридного приложения, поэтому здесь есть и другой вариант, помимо плагина corAAppBrowser https://github.com/apache/cordova-plugin -inappbrowser, и это ссылка, в которой pdf.js и угловое ионное реализовано в первом приложении IBM Mobile.

Я надеюсь, что это может помочь кому-то, кто ищет просмотрщик PDF внутри мобильного гибридного приложения.

https://github.com/tenajrm/pdfviewer

Ещё вопросы

Сообщество Overcoder
Наверх
Меню