فایلهای پیدیاف فرمتی همهجا برای اشتراکگذاری اسناد هستند، اما گاهی اوقات میتوانند حجیم باشند که منجر به کندی بارگذاری و افزایش نیاز به ذخیرهسازی میشود. بهینه سازی فایل های PDF برای اطمینان از تجربه کاربری یکپارچه، به ویژه در برنامه های وب، ضروری است. بنابراین، در این پست وبلاگ، نحوه بهینه سازی فایل های PDF با استفاده از جاوا اسکریپت را بررسی خواهیم کرد.
- کتابخانه جاوا اسکریپت برای بهینه سازی PDF
- PDF را در جاوا اسکریپت بهینه کنید
- از Web Worker در بهینه سازی PDF استفاده کنید
- بهینه سازی منابع PDF در جاوا اسکریپت
کتابخانه جاوا اسکریپت برای بهینه سازی PDF
برای بهینه سازی PDF در یک برنامه جاوا اسکریپت، از Aspose.PDF برای جاوا اسکریپت استفاده خواهیم کرد. این یک کتابخانه قدرتمند است که به توسعه دهندگان اجازه می دهد تا فایل های PDF را با استفاده از جاوا اسکریپت پردازش، دستکاری و بهینه سازی کنند. پس بیایید ابتدا با نصب کتابخانه شروع کنیم.
کتابخانه را دانلود و دستورالعملهای نصب ارائه شده در اینجا را دنبال کنید: چگونه Aspose.PDF را برای جاوا اسکریپت نصب کنیم.
PDF را در جاوا اسکریپت بهینه کنید
قبل از پرداختن به فرآیند بهینه سازی PDF، بیایید درک کنیم که چرا بهینه سازی فایل های PDF بسیار مهم است:
- زمانهای بارگذاری سریعتر: فایلهای PDF بهینهشده سریعتر بارگیری میشوند و با کاهش زمان انتظار، تجربه کاربر را بهبود میبخشند.
- کارایی پهنای باند: اندازه فایل های کوچکتر باعث کاهش مصرف پهنای باند می شود و اشتراک گذاری و دانلود PDF را آسان تر می کند.
- فضای ذخیرهسازی: فایلهای PDF بهینهشده فضای ذخیرهسازی کمتری را اشغال میکنند، که به ویژه در هنگام کار با تعداد زیادی اسناد مهم است.
بیایید اکنون اسکریپت را برای بهینه سازی یک فایل PDF به دنبال مراحل زیر بنویسیم.
- ابتدا فایل پی دی اف را که برای بهینه سازی نیاز دارید انتخاب کنید.
- سپس یک شی FileReader برای خواندن فایل ایجاد کنید.
- پس از آن، تابع AsposePdfOptimize را برای بهینه سازی PDF فراخوانی کنید. پارامترهای این تابع شامل نام فایل PDF حاصل می باشد.
- تابع AsposePdfOptimize یک شی JSON را برمی گرداند و با استفاده از json.errorCode، می توانید بررسی کنید که آیا فایل PDF با موفقیت بهینه شده است یا خیر. اگر کد خطا 0 باشد، PDF بدون هیچ مشکلی بهینه شده است. در غیر این صورت خطایی رخ داده است که می توانید آن را از json.errorText بخوانید.
- در نهایت، تابع DownloadFile را فراخوانی کنید تا پیوندی به فایل PDF بهینه سازی شده ایجاد شود.
قطعه کد زیر نحوه بهینه سازی یک فایل PDF در جاوا اسکریپت را نشان می دهد.
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 در جاوا اسکریپت
یکی دیگر از روشهای بهینهسازی فایلهای PDF، حذف منابع بلااستفاده و پیوستن منابع رایج به یک شی واحد است. برای بهینه سازی منابع PDF، Aspose.PDF تابع AsposePdfOptimizeResource را ارائه می دهد. قطعه کد زیر نحوه بهینه سازی منابع PDF در جاوا اسکریپت را نشان می دهد.
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 رایگان جاوا اسکریپت را دریافت کنید
یک مجوز موقت رایگان دریافت کنید و از کتابخانه بهینه سازی PDF جاوا اسکریپت ما بدون هیچ محدودیتی استفاده کنید.
نتیجه
بهینه سازی فایل های PDF برای اطمینان از عملکرد مطلوب و تجربه کاربر در برنامه های کاربردی وب بسیار مهم است. Aspose.PDF برای جاوا اسکریپت مجموعه ای قدرتمند از ابزارها را برای بهینه سازی کارآمد اسناد PDF فراهم می کند. در این پست وبلاگ، روشی آسان برای بهینه سازی فایل های PDF با استفاده از جاوا اسکریپت را برای شما ارائه کرده ایم. با استفاده از این روش بهینه سازی PDF، می توانید مدیریت کلی اسناد را در برنامه های وب خود به طور قابل توجهی بهبود بخشید.
درباره کتابخانه پیدیاف جاوا اسکریپت ما در [اسناد] بیشتر کاوش کنید. اگر سؤالی دارید، لطفاً آنها را از طریق تالار گفتمان با ما در میان بگذارید.