Как использовать Cordova Camera Picture в PDFMake? - PullRequest
1 голос
/ 15 июня 2019

Я создаю приложение Ionic Cordova в Angular. Я должен создать PDF со значениями формы и изображениями. Я использую Cordova Camera, чтобы получить изображение, которое работает нормально.

Как только я получу изображение, как мне использовать его в моем PDFmake без преобразования в Base64? Base64 обширный и ломается на старых устройствах.

Камера Get Picture


  takePicture() {
    const options: CameraOptions = {
      quality: 95,
      destinationType: this.camera.DestinationType.FILE_URI,
      sourceType: this.camera.PictureSourceType.CAMERA,
      encodingType: this.camera.EncodingType.PNG,
      targetWidth: 400,
      targetHeight: 400,
      saveToPhotoAlbum: true,
      correctOrientation: true
    };
    this.camera.getPicture(options).then((imageData) => {
      const sourceDirectory = imageData.substring(0, imageData.lastIndexOf('/') + 1);
      const sourceFileName = imageData.substring(imageData.lastIndexOf('/') + 1, imageData.length);
      this.selectedImage = this.webView.convertFileSrc(imageData);
      this.photos.push({
        image: this.selectedImage,
        rawImage: sourceFileName,
      });
      this.storage.set('photos', this.photos);
      console.log('Copying from : ' + sourceDirectory + sourceFileName);
      console.log('Copying to : ' + this.file.dataDirectory + sourceFileName);
      this.file.copyFile(sourceDirectory, sourceFileName, cordova.file.dataDirectory, sourceFileName).then(function(success) {
         const fileName = cordova.file.dataDirectory + sourceFileName;
         console.log(fileName);
      }, (error) => {
         console.dir(error);
      });
    }, (err) => {
     // Handle error
     console.log('Camera issue:' + err);
    });
  }

С PDFmake я могу создавать PDF со значениями формы, но изображения отображаются только при использовании base64. Я не хочу использовать base64.

Я хочу сохранить захваченные изображения в приложении, а затем использовать локальные файлы.

...