如何在PDFMake中使用 cordova 相机图片?

szqfcxe2  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(158)

我正在建设离子 cordova 应用程序在Angular 。我必须创建一个PDF格式的形式值和图片。我正在使用 cordova 相机获得的图像,其中工作正常。
一旦我得到了图像,我应该如何在我的PDFmake中使用它而不转换为Base64?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。
我想在应用程序中存储捕获的图片,然后使用本地文件。

zour9fqk

zour9fqk1#

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

相关问题