如何在PDF中使用Cordova相机图片



我正在用Angular构建Ionic Cordova应用程序。我必须创建一个带有表单值和图片的PDF。我正在使用科尔多瓦相机来获取工作正常的图像。

获得图像后,我应该如何在不转换为 Base64 的情况下在我的 PDFmake 中使用它?Base64 很广泛,在旧设备上会中断。

相机获取图片


  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。

我想将捕获的图片存储在应用程序中,然后使用本地文件。

PDFMake 接受 Base64 和 URI 来显示图像。如果不需要 B64 版本,请将图片的 URI 传递给 Image 对象。

相关内容

  • 没有找到相关文章

最新更新