Библиотека просмотра PDF-файлов на JavaScript с открытым исходным кодом
Попробуйте этот бесплатный JavaScript API с открытым исходным кодом в качестве библиотеки PDF-парсера, средства просмотра, чтения и рендеринга.
Что такое PDF.js?
PDF.js — это библиотека просмотра PDF-файлов на основе JavaScript и HTML5 с открытым исходным кодом, разработанная Mozilla, которая позволяет просматривать документы PDF (Portable Document Format) в браузере.
PDF.js поддерживает несколько функций, перечисленных ниже:
- Рендеринг PDF-файлов. Вы можете открывать и просматривать, читать или отображать PDF-документы в веб-браузерах.
- Печать/сохранение PDF-файлов. PDF.js также позволяет распечатывать или сохранять PDF-документы из вашего любимого веб-браузера.
- Режим презентации. Используя режим презентации, вы можете отображать страницы PDF в полноэкранном режиме и переходить к каждой странице, как к слайду презентации.
- Навигация по PDF: PDF.js предоставляет более простые элементы управления навигацией, с помощью которых вы можете переходить к следующим или предыдущим страницам. Вы также можете быстро перейти на нужную страницу, введя номер страницы.
- Аннотации PDF. Вы также можете аннотировать PDF-документы, добавляя текст, изображения или рисунки на страницы PDF.
- Поворот страниц PDF. Используя PDF.js, вы также можете вращать страницы PDF по часовой стрелке или против часовой стрелки.
- Прокрутка PDF: PDF.js предлагает удобные элементы управления для прокрутки страниц по горизонтали или вертикали и т. д.
- Свойства PDF-документа. И последнее, но не менее важное: вы также можете просматривать свойства PDF-документов в браузере с помощью средства просмотра PDF.js.
Статистика GitHub
Имя:
Язык:
Звезды:
Вилки:
Лицензия:
Репозиторий последний раз обновлялся на
Начало работы с PDF.js
Есть три способа получить PDF.js и начать использовать его в своих веб-проектах.
1. Сборка из исходного кода
Вы можете клонировать репозиторий PDF.js из GitHub и собрать его самостоятельно после установки Node.js, gulp и зависимости PDF.js, выполнив следующие шаги:
Клонируйте репозиторий PDF.js git на локальном компьютере и переключитесь в папку pdf.js.
Установите Node.js
Установите зависимости PDF.js
Запустите сервер gulp и откройте программу просмотра в браузере по адресу http://localhost:8888/web/viewer.html.
2. Используйте готовый дистрибутив.
PDF.js также предлагает готовые дистрибутивы вместе с исходным кодом, который вы можете найти в выпусках PDF.js на GitHub. . Вы можете скачать готовую библиотеку PDF.js и начать ее использовать.
3. Используйте размещенную библиотеку через CDN.
PDF.js также размещается на бесплатных серверах CDN. Ниже приведены несколько ссылок:
- https://cdnjs.com/libraries/pdf.js
- https://www.jsdelivr.com/package/npm/pdfjs-dist
- https://unpkg.com/pdfjs-dist
Запустите средство просмотра PDF.js
После загрузки и извлечения предварительно созданной библиотеки дистрибутива из GitHub вы обнаружите две папки: build и веб. Файлы библиотеки PDF.js можно найти в папке build, где папка web содержит проект средства просмотра, включающий в себя файлыviewer.html,viewer.css,viewer.js и связанные файлы. Если вы проверите код view.html, вы увидите, что он ссылается на библиотеку pdf.js из папки сборки, а также на другие связанные файлы css и js.
Давайте запустим view.html в браузере, чтобы увидеть, как выглядит просмотрщик PDF.js:
Рендеринг/просмотр PDF-документов
Чтобы просто визуализировать или просмотреть PDF-документ в браузере с помощью библиотеки просмотра PDF.js, мы должны включить библиотеку PDF.js в заголовок нашего HTML-документа с помощью тега script, добавить canvas. > в тело HTML, а затем добавьте необходимый код JavaScript для использования pdfjsLib и объектов обещания для обработки асинхронной загрузки и рендеринга PDF-документа.
Приведенный выше код просто загружает PDF-документ в браузер без какого-либо пользовательского интерфейса или элементов управления, как показано ниже:
Онлайн-демо
Попробуйте эту полнофункциональную онлайн. Демо-версия PDF.js Viewer для изучения всех возможностей библиотеки PDF.js.
Заключение
PDF.js — это бесплатная библиотека просмотра PDF-файлов JavaScrpit с открытым исходным кодом и сильным сообществом. Он обеспечивает кроссбраузерную поддержку как современных, так и устаревших браузеров. Да, пользовательский опыт в устаревших браузерах может отличаться от современных, но в качестве бесплатной библиотеки они все равно хороши. Это безопасно и настраиваемо. Возможности ограничены, но в качестве средства просмотра PDF-файлов он работает отлично.
PDF.js предоставляет удобные API и архитектуру для создания веб-средства просмотра PDF. Поскольку добавление дополнительных элементов управления пользовательского интерфейса в средство просмотра занимает много времени, чтобы сэкономить время разработчиков, PDF.js также предоставляет исходный код полнофункционального и многофункционального средства просмотра PDF, который вы можете найти (проверьте файлыviewer.html,viewer.js и view.css и т. д.) в папке web дистрибутива библиотеки PDF.js.
Похожие Продукты
Split PDF in separate file in Javascript
i Have a big pdf file and i would like to split it in separate PDF files, each page in separate file. It is possible to do that in JS with node module. I search but in npm i just have modules that convert html to pdf
38k 25 25 gold badges 201 201 silver badges 273 273 bronze badges
asked Oct 9, 2015 at 13:09
1,551 8 8 gold badges 34 34 silver badges 57 57 bronze badges
2 Answers 2
After a lot of searching and nearly giving up, I did eventually find that the HummusJS library will do what I want to do! thanks to @Taxilian
1 1 1 silver badge
answered Oct 10, 2015 at 17:45
1,551 8 8 gold badges 34 34 silver badges 57 57 bronze badges
nice. Another nodejs wrapper around good library. All of them can solve you problem
Oct 12, 2015 at 9:46
appears it does wrap the HummusPDF «executable» as it were. See also pdfkit.
Sep 7, 2018 at 17:52
It seems HummusJS ending support . Is there any good alternative ?
May 2, 2020 at 16:14
github.com/jjwilly16/node-pdftk this may be the potential alternative to split pages
May 5, 2020 at 12:34
PDF format too complex for handling it via javascript. Can’t find any js libs, that doing it well
It’s easy to use other pdf parsing software and run it from node.js
use pdftk for splitting pdf
pdftk input.pdf burst output output_%02d.pdf
and run it via child-process
var exec = require('child_process').exec, child; child = exec('pdftk input.pdf burst output output_%02d.pdf', function (error, stdout, stderr) < console.log('stdout: ' + stdout); console.log('stderr: ' + stderr); if (error !== null) < console.log('exec error: ' + error); >>);
maybe you can find node module for using pdftk, but it’s too easy to run it by yourself
Как использовать библиотеку pdf-lib.js для редактирования файлов?
Планирую использовать библиотеку https://pdf-lib.js.org/ для редактирования файлов в проекте. В примерах, в коде, везде указаны полные ссылки на редактируемый пдф, и всё работает хорошо. А как мне отредактировать файл, который я загружаю через инпут? При попытке обработать такой файл получаю ошибку: Error: Failed to parse PDF document (line:0 col:16 offset=8): No PDF header found пример: https://codepen.io/Raneto4ka/pen/MWjxgQb?editors=1010