dir.by  
Программирование, разработка, тестирование
JavaScript - язык программирования для HTML
PDF readers. Загрузка и отображение файла PDF (JavaScript, HTML)
PDF reader. Загрузка и отображение файла PDF (JavaScript, HTML) | PDF JavaScript implemented by Mozilla
  Посмотрели 12226 раз(а)    
 PDF reader. Загрузка и отображение файла PDF (JavaScript, HTML) | PDF JavaScript implemented by Mozilla 
последнее обновление: 5 декабря 2021
Для чтения файла pdf используется PDF.js implemented by Mozilla
Пример смотрим, тестируем
PDF файл
Масштаб
Код примера
  Html  
<script src="./build/pdf.js"></script>
<script src="./text_layer/text_layer_builder.js"></script>
<link type="text/css" href="./text_layer/text_layer_builder.css" rel="stylesheet">
<script>
     PDFJS.workerSrc = "./build/pdf.worker.js";
</script>

<!-- www pdf файл -->
<div style='padding-top:10px; padding-left:20px;'>
     <font color='#303030'><b>PDF файл</b></font>
     <input type='text' size='80' id='textElement' value='https://dir.by/developer/js/pdf_readers/example2/test.pdf'>
</div>

<!-- масштаб -->
<div style='padding-top:15px; padding-left:20px;'>
     <font color='#303030'><b>Масштаб</b></font>
     <input type='text' size='5' id='scaleElement' value='0.9'>
</div>

<!-- кнопка для загрузки файла PDF -->
<div style='padding-top:15px; padding-left:20px;'>
     <input type='button' value='Reload PDF' onClick='onClickButton();' style='color:green; font-weight:600;'>
</div>

<!-- содержимое файла PDF -->
<div id="containerForPDF" tabindex="0" style='padding-top:20px; padding-left:20px; height:400px; overflow:scroll;'>
</div>

<script>
     function onClickButton()
     {
          url = document.getElementById('textElement').value;
          var scale = document.getElementById('scaleElement').value;
          loadPDFinDIV(url, 'containerForPDF', scale);
     }

     function loadPDFinDIV(urlPDF, idDIV, scale)
     {
          PDFJS.getDocument(urlPDF).promise.then(function(pdf)
          {
               console.log('PDF loaded');

               // Get div#container and cache it for later use
               var container = document.getElementById(idDIV);
               container.innerHTML = "";
    
               // Loop from 1 to total_number_of_pages in PDF document
               for (var i = 1; i <= pdf.numPages; i++)
               {
                    // Get desired page
                    pdf.getPage(i).then(function(page)
                    {
                         var viewport = page.getViewport(scale);
                         var div = document.createElement("div");
    
                         // Set id attribute with page-#{pdf_page_number} format
                         div.setAttribute("id", "page-" + (page.pageIndex + 1));
    
                         // This will keep positions of child elements as per our needs
                         div.setAttribute("style", "position:relative; background-color:gray; padding-top:10px; padding-left:20px;");
                         div.style.width = viewport.width + 20 + "px";
    
                         // Append div within div#container
                         container.appendChild(div);
    
                         // Create a new Canvas element
                         var canvas = document.createElement("canvas");
    
                         // Append Canvas within div#page-#{pdf_page_number}
                         div.appendChild(canvas);
    
                         var context = canvas.getContext('2d');
                         canvas.height = viewport.height;
                         canvas.width = viewport.width;
    
                         var renderContext =
                         {
                              canvasContext: context,
                              viewport: viewport
                         };
    
                         // Render PDF page
                         page.render(renderContext).then(function()
                         {
                              // Get text-fragments
                              return page.getTextContent();
                         }).then(function(textContent)
                         {
                              // Create div which will hold text-fragments
                              var textLayerDiv = document.createElement("div");
    
                              // Set it's class to textLayer which have required CSS styles
                              textLayerDiv.setAttribute("class", "textLayer");
    
                              // Append newly created div in `div#page-#{pdf_page_number}`
                              div.appendChild(textLayerDiv);
    
                              // Create new instance of TextLayerBuilder class
                              var textLayer = new TextLayerBuilder(
                              {
                                   textLayerDiv: textLayerDiv,
                                   pageIndex: page.pageIndex,
                                   viewport: viewport
                              });
    
                              // Set text-fragments
                              textLayer.setTextContent(textContent);
    
                              // Render text-fragments
                              textLayer.render();
                         });
    
                    });
               }
          },
          function (reason)
          {
               // PDF loading error
               console.error(reason);
          });
     }

     onClickButton();
</script>
Полный исходный код
Скачать (1 mb)

Пример не работает локально
Запускать example.html
 
← Предыдущая тема
PDF reader. Загрузка и отображение файла PDF (adobe JavaScript, HTML) | PDF JavaScript implemented by Adobe
 
Следующая тема →
В текстовой переменной можно писать выражения с переменными (форматирование, интерполяция строки). Пример: var myText = `Hello ${a}` | JavaScript стандарт ES6
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

Экскурсии по Москве Экскурсии по Москве: пешеходные, автобусные и речные прогулки на любой вкус
  Объявления  
  Объявления  
 
В каком редакторе (программе) удобно писать JavaScript код?
Новое приложение
Создаем новое приложение JavaScript в текстовом редакторе
Создаем новое приложение JavaScript в Visual Studio Code. Отладка приложения. Смотрим в отладке как по шагам выполняется JavaScript
Отладка JavaScript, HTML
Отладка JavaScript в Google Chrome. Используем debugger
Как узнать (увидеть) где ошибка при выполнении HTML, JavaScript в Google Chrome
Отладка JavaScript В Google Chrome. Используем console.log("Hello!")
JavaScript стандарт ES5. Издан в 2009 году. Поддерживается всеми браузерами
Функция
Функция В JavaScript. Пример: function CalculateSum(value1, value2) { ... } | стандарт ES5
Функция return || В JavaScript. Пример: function getPersonName(name) { return name || "Evgen" } | стандарт ES5
Вызов функции до ее определения (Hoisting) В JavaScript | стандарт ES5
Переменные внутри функции (время жизни переменных внутри функции) JavaScript | стандарт ES5
Передача параметров по значению и по ссылке в функцию В JavaScript | стандарт ES5
Как узнать ... существует ли функция по названию В JavaScript? Пример: typeof calcSum == "function" | стандарт ES5
Функция описанная внутри функции. JavaScript | стандарт ES5
Безымянная функция
Безымянная функция В JavaScript . Использование безымянной функции: создаем новую переменную и новой переменной назначаем безымянную функцию. Пример: var myFunc1 = function (a, b) { return a + b; } ; | стандарт ES5
Безымянная функция В JavaScript . Использование безымянной функции: безымянную функцию передаем как параметр в другую функцию. Пример: Calculate(15, 7, function(v1, v2) {return v1+v2;}); | стандарт ES5
Само-вызывающая безымянная функция
Само-вызывающая безымянная функция В JavaScript. Где используется? Используется в Yandex рекламе. Пример: ( function(){ ... } )(); | стандарт ES5
Создаем файл js с объектом содержащий экспортные переменные и функции. Это пример использования само-вызывающей безымянной функции | стандарт ES5
Лямбда функция (сокращенный вариант безымянной функции)
Лямбда функция В JavaScript . Использование лямбда функции. [Пример1] var myFunc1 = (a, b) => a + b; [Пример2] Calculate(15, 7, (v1, v2) => {return v1+v2;}); | стандарт ES5
Переменные
Переменные В JavaScript (текст, число, флаг, дата и время) | стандарт ES5
Доступ к переменным до их определения (Hoisting) В JavaScript | стандарт ES5
Область видимости переменных var, let, const В JavaScript | стандарт ES5
Текст, строки В JavaScript
Текст В JavaScript. Класс String. Пример: var myText = String("World"); | стандарт ES5
Length (длина строки В JavaScript) | стандарт ES5
Функция replace(text1, text2) заменить текст В JavaScript | стандарт ES5
Функция toUpperCase() переводит текст в верхний регистр JavaScript | стандарт ES5
Функция toLowerCase() перевод текста в нижний регистр JavaScript | стандарт ES5
Функция split(delimiter) разделяет строку на подстроки JavaScript | стандарт ES5
Функция charAt(position) получить символ по позиции JavaScript | стандарт ES5
Функция substr(pos, len) возвращает подстроку JavaScript | стандарт ES5
Функция slice(pos1, pos2) возвращает подстроку JavaScript | стандарт ES5
Функция substring(pos1, pos2) возвращает подстроку JavaScript | стандарт ES5
Функция indexOf(text, startPos) ищет подстроку и возвращает индекс JavaScript | стандарт ES5
Функция startsWith(text) проверяет, начинается ли строка с указанной подстроки JavaScript | стандарт ES5
Функция trim() удалить пробелы в начале и в конце строки JavaScript | стандарт ES5
Функция padStart(length, symbol) добавляет в начале строки символы до нужной длины строки JavaScript | стандарт ES5
Функция padEnd(length, symbol) добавляет в конце строки символы до нужной длины строки JavaScript | стандарт ES5
В текстовую переменную можно назначить текст как много строк. Пример: var myText = `Hello \n Thanks \n Bye` | JavaScript стандарт ES6
В текстовой переменной можно писать выражения с переменными (форматирование, интерполяция строки). Пример: var myText = `Hello ${a}` | JavaScript стандарт ES6
Регулярные выражения
Регулярные выражения в JavaScript | стандарт ES5
Пишем регулярное выражение чтобы удалить все специальные символы кроме букв и цифр | Regex JavaScript | стандарт ES5
Числа и математические функции
Числа В JavaScript. Конвертация текста в число. Округление числа. Перевод шестнадцатиричного в десятичное число. | стандарт ES5
Математические функции из библиотеки Math: Sin, cos, log, pow и так далее В JavaScript | стандарт ES5
Дата и время
Дата и время (год, месяц, число, часы, минуты, секунды) В JavaScript. Класс Date | стандарт ES5
Массив
Массив В JavaScript это [] или класс Array | стандарт ES5
Что значит 3 точки ...items | Пример 1: Math.max(...prices) | Пример 2: books.push(...items) | JavaScript, стандарт ES5
Разница между push(items) и push(...items) | Добавление массива в массив В JavaScript | стандарт ES5
Найти max цены в сложном массиве: [ {name:"Tomate", price:10}, {name:"Apple", price:17}, {name:"Orange", price:15} ] в JavaScript | стандарт ES5
Найти min цены в сложном массиве: [ {name:"Tomate", price:10}, {name:"Apple", price:17}, {name:"Orange", price:15} ] в JavaScript | стандарт ES5
Коллекции Map и Set
Коллекция "ключ-значение" В JavaScript. Класс Map | стандарт ES5
Коллекция уникальных значений В JavaScript. Класс Set | стандарт ES5
Объект {набор свойств и функций}
{} это объект В JavaScript. Объект содержит набор свойств и функции. Пример var book = {Name: "Волшебник Средиземноморья", Price: 120}; | стандарт ES5
{...} = объект в JavaScript заполняем из переменных класса или другим объектом. Пример: const {name, total, price} = b.myProps; | стандарт ES5
Класс (это функция с использованием new) | стандарт ES5
Класс в JavaScript это обычная функция-конструктор. Такая функция-конструктор содержит простые данные, объекты, внутренние функции В JavaScript. Для создания объекта класса используется new Пример: function Book() { ... } ... var obj1 = new Book(); | стандарт ES5
Инкапсуляция переменных (скрытие переменных для доступа) в функции (в виде класса) В JavaScript | стандарт ES5
prototype - это набор функций, переменных для всех экземпляров класса (в виде функции) В JavaScript | стандарт ES5
try catch
Зачем нужно использовать try и catch В JavaScript? | стандарт ES5
Замыкание (closure) В Javascript
Что такое замыкания (closure) В JavaScript ? Стандарт ES5
Управление памятью в JavaScript
Управление памятью в JavaScript | стандарт ES5
Примеры движение картинки и анимация
Анимация человечка на месте. Используем HTML элемент <div>. Для анимации используем CSS стили: "animation", "background-image", "background-position", "keyframes" | стандарт ES5
Анимация человечка в движении (sprite). Используем HTML элементы <div>, <img>. Для анимации используем CSS стили: "animation", "background-image", "background-position", "keyframes" | стандарт ES5
Рисуем картинку с движением. Используем HTML элемент <canvas>. Для движения используем JavaScript: var img = new Image(), img.src = url, drawImage, timer, window.setInterval | стандарт ES5
Рисуем картинку с движением и анимацией (sprite). Используем HTML элемент <canvas>. Для движения используем JavaScript: var img = new Image(), img.src = url, drawImage, timer, window.setInterval | стандарт ES5
Примеры
Как определить устройство (планшет, компьютер, телефон) сейчас используется в JavaScript, HTML | стандарт ES5
Редактор текста пишем на HTML, JavaScript | стандарт ES5
Делаем Popup используя HTML и Javascript
Как сделать Popup окно в HTML странице | Javascript, HTML, CSS
Моя игра (HTML, JavaScript)
Моя игра "Wizard World" | HTML, JavaScript
PDF readers. Загрузка и отображение файла PDF (JavaScript, HTML)
PDF reader. Загрузка и отображение файла PDF (adobe JavaScript, HTML) | PDF JavaScript implemented by Adobe
PDF reader. Загрузка и отображение файла PDF (JavaScript, HTML) | PDF JavaScript implemented by Mozilla
JavaScript стандарт ES6. Издан в 2015 году. Поддерживается НЕ всеми браузерами. Синонимы ES6, ES2015, ECMAScript 2015
В текстовой переменной можно писать выражения с переменными (форматирование, интерполяция строки). Пример: var myText = `Hello ${a}` | JavaScript стандарт ES6
class | Класс В JavaScript. Пример: class Book {...} ... var obj1 = new Book(); | стандарт ES6
promise В JavaScript | стандарт ES6

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика