Не удалось отобразить многостраничный tiff by tiff. js с помощью Tampermonkey - PullRequest
0 голосов
/ 29 марта 2020

Здравствуйте, я новичок в stackoverflow.

Я планирую отобразить изображение формата 2-4 страницы A4 на веб-странице обработки документов с помощью Tampermonkey в Chrome.

Я копаю вокруг Inte rnet и обнаружил, что tiff Сейкити. js может использоваться для отображения многостраничного TIFF с примером от него .

Однако, когда Я вставляю приведенный выше код и связываю tiff.min. js с tampermonkey, может отображаться только tiff с примера веб-страницы.

// ==UserScript==
// @name         ShowTiff
// @namespace    ShowTiff
// @version      0.1
// @description  ShowTiff
// @author       ShowTiff
// @match        *://*/*
// @grant        none
// @require      http://seikichi.github.io/tiff.js/tiff.min.js
// @require      http://code.jquery.com/jquery-1.10.1.min.js     
// ==/UserScript==

$(function () {
        Tiff.initialize({TOTAL_MEMORY: 16777216 * 10});
  var xhr = new XMLHttpRequest();
  xhr.open('GET', "http://seikichi.github.io/tiff.js/images/multipage.tiff");
  xhr.responseType = 'arraybuffer';
  xhr.onload = function (e) {
    var buffer = xhr.response;
    var tiff = new Tiff({buffer: buffer});
    for (var i = 0, len = tiff.countDirectory(); i < len; ++i) {
      tiff.setDirectory(i);
      var canvas = tiff.toCanvas();
      $('body').append(canvas);
    }
  };
  xhr.send();
})();

Это означает, что когда я пытался заменить изображение tiff из других источников, таких как многостраничный образец tiff из этого веб-сайта , он не отображался , Только оригинальное тестовое изображение с фруктами по ссылке выше может быть успешно отображено на моей веб-странице.

Мне было интересно, будет ли это проблемой цветового пространства, разрешения и размера файла различных изображений в формате TIFF. Но все эти «другие исходные» изображения могли быть успешно показаны, когда я сохранил образец страницы Seikichi на локальном компьютере, открыл ее в Dreamweaver и заменил источник другими изображениями TIFF. Так что я не знаю, есть ли какие-либо проблемы с tampermonkey и библиотекой tiff javascript, а также с кодом.

Рад, что кто-нибудь может помочь решить эту проблему, большое спасибо!

Редактировать: в соответствии с просьбой внести изменения в GM_xmlhttpRequest

// ==UserScript==
// @name         ShowTiff
// @namespace    ShowTiff
// @version      0.1
// @description  ShowTiff
// @author       ShowTiff
// @match        *://*/*
// @grant        GM_xmlhttpRequest
// @require      http://seikichi.github.io/tiff.js/tiff.min.js
// @require      http://code.jquery.com/jquery-1.10.1.min.js
// ==/UserScript==

$(function () {
        Tiff.initialize({TOTAL_MEMORY: 16777216 * 10});
  var xhr = new GM_xmlhttpRequest({
  method: "GET",
  url: "http://seikichi.github.io/tiff.js/images/multipage.tiff",
  responseType: "arraybuffer"
 });
  xhr.onload = function (e) {
    var buffer = xhr.response;
    var tiff = new Tiff({buffer: buffer});
    for (var i = 0, len = tiff.countDirectory(); i < len; ++i) {
      tiff.setDirectory(i);
      var canvas = tiff.toCanvas();
      $('body').append(canvas);
    }
  };
  xhr.send();
})();
...