Nano Hash - криптовалюты, майнинг, программирование

Получить большой двоичный объект из объекта/встроить/iframe, который загружает заполняемый PDF-файл

Я могу загрузить заполняемый PDF-файл в объект, вставку или тег iframe. Любой из этих методов отлично отображает PDF на экране. После того, как пользователь заполнит PDF-файл, я хотел бы, чтобы он нажал кнопку (вне объекта/встраивания/iframe), в которой я извлекаю PDF-файл в виде большого двоичного объекта (используя javascript, а не jquery) из элемента и отправляю его в сервер. Единственная часть, которую я не могу понять, это извлечение отредактированного PDF из объекта/встраивания/iframe.

Как мне это сделать?


Ответы:


1

Если вы позволите браузеру обрабатывать рендеринг и редактирование pdf через свой собственный плагин, мало шансов, что вы сможете сделать что-то подобное, по крайней мере, не в кросс-браузерном режиме.

Стандартов отображения pdf в браузере не существует. Большинство запустит плагин, в то время как некоторые (например, основанные на FF) имеют встроенное средство просмотра.
Те, кто использует плагин, могут предоставить API через тег ‹embed>, хотя я еще никогда не видел такого, но тем не менее , ни один из них не будет предоставлять один и тот же API.

Поэтому лучше всего не позволять браузеру обрабатывать это, а полностью контролировать ситуацию.

Библиотека, такая как pdf.js, разработанная Mozilla, — хороший способ показать pdf в перекрестном виде. -browser, и чтобы получить доступ к некоторым настройкам, таким как имя документа, и хотя я не знаю, есть ли простой способ, вы также, вероятно, можете экспортировать в Blob.

Однако AcroForms еще предстоит реализовать в этой библиотеке, так что вы не сможете использовать его для своих целей.
Но обратите внимание, что это также означает, что ваши пользователи Firefox также не смогут использовать встроенное средство просмотра, так как на самом деле это pdf.js в этом браузере. .

29.08.2019

2

идентификатор BLOB можно легко определить с помощью функции .getBlob или спецификатора по умолчанию.

28.08.2019
  • Ммм... ок... не понимаю, как это отвечает на мой вопрос. 28.08.2019
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..