HTML JPG PDF XML DOCX
  Product Family
PDF

ضغط PDF في Node.js Cloud API

API للعمل على تحسين مستندات PDF باستخدام Cloud Node.js SDK

Get Started

كيفية ضغط PDF عبر Node.js SDK

لضغط PDF، سنستخدم Aspose.PDF Cloud Node.js SDK. يساعد هذا SDK المبرمجين في تطوير تطبيقات إنشاء وتعديل وتحويل مستندات PDF المستندة إلى السحابة باستخدام لغة برمجة Node.js عبر Aspose.PDF REST API. ببساطة قم بإنشاء حساب في Aspose for Cloud واحصل على معلومات التطبيق الخاصة بك. بمجرد أن تحصل على App SID والمفتاح، أنت جاهز لاستخدام Aspose.PDF Cloud Node.js SDK. تعمل هذه الطريقة بكفاءة على تحسين مستندات PDF باستخدام Aspose.PDF Cloud SDK لـ Node.js. من خلال أتمتة عمليات التحميل والتحسين والتنزيل، فإنها تبسط سير العمل للمطورين. تضمن خيارات التحسين المتنوعة أن يكون حجم ملف PDF الناتج أصغر دون المساس بالجودة.

أمر وحدة إدارة الحزم


     
    npm install asposepdfcloud --save
     
     

خطوات ضغط PDF عبر Cloud Node.js

يمكن لمطوري Aspose.PDF Cloud تحميل وضغط PDF بسهولة في بضع سطور من الشيفرة.

  1. تهيئة Aspose PDF API
  2. تحميل مستند PDF إلى التخزين السحابي
  3. ضغط مستند PDF
  4. تنزيل مستند PDF المحسن
  5. تنفيذ عملية التحسين
 

ضغط PDF باستخدام Node.js


    import credentials from "../../../Credentials/credentials.json"  with { type: "json" };    // json-file in this format: { "id": "*****", "key": "*******" }
    import fs from 'node:fs/promises';
    import path from 'node:path';
    import { PdfApi } from "../../src/api/api.js";
    import { OptimizeOptions } from "../../src/models/optimizeOptions.js";

    const configParams = {
        LOCAL_FOLDER: "C:\\Samples\\",
        PDF_DOCUMENT_NAME: "sample.pdf",
        TEMP_FOLDER : 'TempPdfCloud',
        LOCAL_RESULT_DOCUMENT_NAME: "output_sample.pdf",
    };

    const pdfApi = new PdfApi(credentials.id, credentials.key);

    const PdfCompress = {
        async uploadDocument (fileName, localFolder) {
            const fileNamePath = path.join(configParams.LOCAL_FOLDER, configParams.PDF_DOCUMENT_NAME);
            const fileData = await fs.readFile(fileNamePath);
            const storagePath = path.join(configParams.TEMP_FOLDER, configParams.PDF_DOCUMENT_NAME);
            await pdfApi.uploadFile(storagePath, fileData)
                .then(() => console.log("File: '" + configParams.PDF_DOCUMENT_NAME +"' successfully uploaded."));
        },

        async downloadResult() {
            const fileName = path.join( configParams.TEMP_FOLDER, configParams.PDF_DOCUMENT_NAME);
            const changedPdfData = await pdfApi.downloadFile(fileName);
            const filePath = path.join(configParams.LOCAL_FOLDER, configParams.LOCAL_RESULT_DOCUMENT_NAME);
            await fs.writeFile(filePath, changedPdfData.body);
            console.log("Downloaded: " + filePath);
        },

        async compressPdfDocument() {
            if ( pdfApi ) {

                const optimizeOptions = new OptimizeOptions();
                optimizeOptions.allowReusePageContent = true;
                optimizeOptions.compressImages = true;
                optimizeOptions.imageQuality = 100;
                optimizeOptions.linkDuplcateStreams = true;
                optimizeOptions.removeUnusedObjects = true;
                optimizeOptions.removeUnusedStreams = true;            
                optimizeOptions.unembedFonts = true;
    
                const response = await pdfApi.postOptimizeDocument(configParams.PDF_DOCUMENT_NAME, optimizeOptions, null, configParams.TEMP_FOLDER);
                if (response.body.code != 200)
                    console.error("compressPdfDocument(): Failed to compress the PDF document!");
                else
                    console.log("compressPdfDocument(): Successfully copressed the PDF document '" + configParams.PDF_DOCUMENT_NAME + "' !");
            }
        },
    };

    async function main() {
        try {
            await PdfCompress.uploadDocument();
            await PdfCompress.compressPdfDocument();
            await PdfCompress.downloadResult();

        } catch (error) {
            console.error("Error:", error.message);
        }
    }
 

مع مكتبتنا لـ Node.js يمكنك

ضغط مستندات PDF باستخدام Aspose.PDF Cloud Node.js SDK.

  • إضافة رأس وتذييل مستند PDF بتنسيق نص أو صورة.
  • إضافة جداول وختمات (نص أو صورة) إلى مستندات PDF.
  • إلحاق مستندات PDF متعددة إلى ملف موجود.
  • العمل مع مرفقات PDF والتعليقات التوضيحية وحقول النماذج.
  • تطبيق التشفير أو فك التشفير على مستندات PDF وتعيين كلمة المرور.
  • حذف جميع الأختام والجداول من صفحة أو من مستند PDF بالكامل.
  • حذف ختم أو جدول معين من مستند PDF بواسطة معرفه.
  • استبدال مثيل واحد أو متعدد للنص على صفحة PDF أو من المستند بالكامل.
  • دعم واسع لتحويل مستندات PDF إلى تنسيقات ملفات أخرى متنوعة.
  • استخراج عناصر متنوعة من ملفات PDF وتحسين مستندات PDF.
  • يمكنك تجربة تطبيقنا المجاني لاختبار الوظائف.