我正在建设离子 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。
我想在应用程序中存储捕获的图片,然后使用本地文件。
1条答案
按热度按时间zour9fqk1#
PDFMake接受Base64和URI来显示图像。如果您不需要B64版本,请将图片的URI传递给Image object。