如何使用pdfbox api基于数字签名的有效性显示不同的图像?

时间:2017-12-12 05:03:48

标签: pdf digital-signature pdfbox

今天我们可以看到新的PDVisibleSignDesigner对象可以通过提供图像作为输入来创建,稍后将在PDF文档中显示。

Vue.component('some-form', {
  template: '#some-form',
  data: function() {
    return {
      logoImage: '',
      coverImage: ''
    }
  },
  methods: {
    onSubmit: function(event) {
      var dataForm = {};
      var that = this;
      dataForm['logo-image'] = this.logoImage;
      dataForm['cover-image'] = this.coverImage;

      // AJAX REQUEST HERE with posting data
    },
  },
  mounted: function(){
    var $this = this;

    // AJAX REQUEST HERE with getting data
  }
});

Vue.component('upload-photo', {
  template: '#upload-photo',
  data: function () {
    return {
      image: {
        body: '',
        'content-type': '',
        'content-length': '',
        url: ''
      },
      imageBody: ''
    }
  },
  props: ['logoImage', 'title', 'description'],
  watch: {
    'image': function() {
      this.$emit('input', this.image);
    }
  },
  created: function(){
    this.image = this.logoImage;
  },
  mounted: function () {
    var that = this;
    //AJAX REQUEST HERE to get data
  },
  methods: {
    onFileChange: function(e) {
      var files = e.target.files || e.dataTransfer.files;
      if (!files.length)
        return;
      this.createImage(files[0]);
    },
    createImage: function(file){
      var image = new Image();
      var reader = new FileReader();
      var vm = this;
      vm.image = {};

      reader.onload = function(e) {
        vm.image.body = e.target.result;
        vm.imageBody = e.target.result;
      };

      vm.$set(vm.image, 'content-type', file.type);
      vm.$set(vm.image, 'content-length', file.size);

      reader.readAsDataURL(file);
    },
    removeImage: function (e) {
      this.image = '';
    }
  }
});

var app = new Vue({
  el: '#app',
  data: function() {

  },
  methods: {

  },
  mounted: function() {

  }
});

如果通过绿色复选标记图像(参考:imageStream参数),那么当您的签名有效时,这是完全合理的。但是今天,即使您的签名无效,它也会显示相同的图像。但从逻辑上讲,人们希望显示不同的图像,例如一些红十字标记。

我们如何使用pdfbox api完成它(我使用的是2.0.8版本)?

1 个答案:

答案 0 :(得分:4)

十多年前,这种可变图形已被弃用; Adobe Reader可能仍然支持它们,但没有说明多长时间。根据您的签名档案,他们实际上是被禁止的!

请使用中性图形(无复选标记,无交叉,无问号图标)作为签名,并从PDF查看器的签名选项卡中确定验证状态。

经过一番搜索后,我在一年前已经answered a similar question,并在那里加入了相关的参考资料。因此,我将此问题标记为旧问题的副本。

但有些注意事项:

  • 答案包含指向“Adobe Acrobat 9数字签名,更改和改进”(Adobe Acrobat和Adobe Reader 9.1更新)的链接,这是Adobe技术白皮书,日期为2009年4月1日.Adobe似乎删除了该文件但是,从其网站上可以找到副本。

  • 答案并没有说明ISO 32000-2的情况,因为第2部分仅在今年2017年发布。但就像第1部分一样,也没有提到那些“层” n1 n3 n4