PDF-файлы являются распространенным форматом для обмена документами, но иногда они могут быть громоздкими, что приводит к замедлению загрузки и увеличению требований к хранению. Оптимизация PDF-файлов необходима для обеспечения бесперебойной работы пользователя, особенно в веб-приложениях. Поэтому в этом сообщении блога мы рассмотрим, как оптимизировать PDF-файлы с помощью JavaScript.
- Библиотека JavaScript для оптимизации PDF
- Оптимизировать PDF в JavaScript
- Используйте Web Worker для оптимизации PDF
- Оптимизация PDF-ресурсов с помощью JavaScript
Библиотека JavaScript для оптимизации PDF
Для оптимизации PDF в приложении JavaScript мы будем использовать Aspose.PDF for JavaScript. Это мощная библиотека, которая позволяет разработчикам обрабатывать, манипулировать и оптимизировать PDF-файлы с помощью JavaScript. Итак, давайте начнем с установки библиотеки.
Загрузите библиотеку и следуйте инструкциям по установке, представленным здесь: Как установить Aspose.PDF for JavaScript.
Оптимизация PDF в JavaScript
Прежде чем углубиться в процесс оптимизации PDF, давайте поймем, почему так важно оптимизировать PDF-файлы:
- Ускоренная загрузка. Оптимизированные PDF-файлы загружаются быстрее, что повышает удобство работы пользователей за счет сокращения времени ожидания.
- Эффективность использования полосы пропускания. Меньшие размеры файлов приводят к снижению потребления полосы пропускания, что упрощает совместное использование и загрузку PDF-файлов.
- Место для хранения: оптимизированные PDF-файлы занимают меньше места, что особенно важно при работе с большим количеством документов.
Давайте теперь напишем сценарий для оптимизации PDF-файла, выполнив следующие шаги.
- Сначала выберите PDF-файл, который необходимо оптимизировать.
- Затем создайте объект FileReader для чтения файла.
- После этого вызовите функцию AsposePdfOptimize для оптимизации PDF. Параметры этой функции включают имя результирующего PDF-файла.
- Функция AsposePdfOptimize возвращает объект JSON, и с помощью json.errorCode вы можете проверить, успешно ли оптимизирован PDF-файл или нет. Если код ошибки равен 0, PDF-файл оптимизируется без проблем. В противном случае произошла ошибка, которую можно прочитать из json.errorText.
- Наконец, вызовите функцию DownloadFile, чтобы создать ссылку на оптимизированный PDF-файл.
В следующем фрагменте кода показано, как оптимизировать PDF-файл с помощью JavaScript.
var ffileOptimize = function (e) {
const file_reader = new FileReader();
file_reader.onload = (event) => {
/*optimize a PDF-file and save the "ResultOptimize.pdf"*/
const json = AsposePdfOptimize(event.target.result, e.target.files[0].name, "ResultOptimize.pdf");
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
else document.getElementById('output').textContent = json.errorText;
/*make a link to download the result file*/
DownloadFile(json.fileNameResult, "application/pdf");
};
file_reader.readAsArrayBuffer(e.target.files[0]);
};
Использование Web Worker в оптимизации PDF
В предыдущем разделе мы просто загрузили PDF-файл, оптимизировали его и загрузили полученный PDF-файл. Теперь давайте воспользуемся веб-воркером, чтобы сделать процесс оптимизации более плавным и предотвратить блокировку потока пользовательского интерфейса. Следующий скрипт показывает, как написать веб-воркер, использующий функцию оптимизации PDF, которую мы написали в предыдущем разделе.
/*Create Web Worker*/
const AsposePDFWebWorker = new Worker("AsposePDFforJS.js");
AsposePDFWebWorker.onerror = evt => console.log(`Error from Web Worker: ${evt.message}`);
AsposePDFWebWorker.onmessage = evt => document.getElementById('output').textContent =
(evt.data == 'ready') ? 'loaded!' :
(evt.data.json.errorCode == 0) ?
`Result:\n${DownloadFile(evt.data.json.fileNameResult, "application/pdf", evt.data.params[0])}` :
`Error: ${evt.data.json.errorText}`;
/*Event handler*/
const ffileOptimize = e => {
const file_reader = new FileReader();
file_reader.onload = event => {
/*Optimize a PDF-file and save the "ResultOptimize.pdf" - Ask Web Worker*/
AsposePDFWebWorker.postMessage(
{ "operation": 'AsposePdfOptimize', "params": [event.target.result, e.target.files[0].name, "ResultOptimize.pdf"] },
[event.target.result]
);
};
file_reader.readAsArrayBuffer(e.target.files[0]);
};
/*Make a link to download the result file*/
const DownloadFile = (filename, mime, content) => {
mime = mime || "application/octet-stream";
var link = document.createElement("a");
link.href = URL.createObjectURL(new Blob([content], {type: mime}));
link.download = filename;
link.innerHTML = "Click here to download the file " + filename;
document.body.appendChild(link);
document.body.appendChild(document.createElement("br"));
return filename;
}
Оптимизация PDF-ресурсов с помощью JavaScript
Другой метод оптимизации PDF-файлов — удаление неиспользуемых ресурсов и объединение общих ресурсов в один объект. Чтобы оптимизировать ресурсы PDF, Aspose.PDF предоставляет функцию AsposePdfOptimizeResource. Следующий фрагмент кода демонстрирует, как оптимизировать ресурсы PDF в JavaScript.
var ffilePdfOptimizeResource = function (e) {
const file_reader = new FileReader();
file_reader.onload = (event) => {
/*Optimize resources a PDF-file and save the "ResultPdfOptimizeResource.pdf"*/
const json = AsposePdfOptimizeResource(event.target.result, e.target.files[0].name, "ResultPdfOptimizeResource.pdf");
if (json.errorCode == 0) document.getElementById('output').textContent = json.fileNameResult;
else document.getElementById('output').textContent = json.errorText;
/*Make a link to download the result file*/
DownloadFile(json.fileNameResult, "application/pdf");
};
file_reader.readAsArrayBuffer(e.target.files[0]);
};
Получите бесплатную PDF-библиотеку JavaScript
Получите бесплатную временную лицензию и используйте нашу библиотеку оптимизации PDF на JavaScript без каких-либо ограничений.
Заключение
Оптимизация PDF-файлов имеет решающее значение для обеспечения оптимальной производительности и удобства работы с веб-приложениями. Aspose.PDF for JavaScript предоставляет мощный набор инструментов для эффективной оптимизации PDF-документов. В этом сообщении блога мы предоставили вам простой в реализации метод оптимизации PDF-файлов с помощью JavaScript. Используя этот метод оптимизации PDF, вы можете значительно улучшить общее управление документами в своих веб-приложениях.
Узнайте больше о нашей библиотеке JavaScript PDF в документации. Если у вас есть какие-либо вопросы, поделитесь ими с нами через наш форум.