PNG JPG BMP TIFF PDF
Aspose.PDF  for PHP

ضغط PDF في PHP SDK

تحسين مستند PDF باستخدام Cloud PHP SDK

Get Started

كيفية ضغط PDF عبر Cloud PHP SDK

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

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

     
    composer install

خطوات ضغط PDF عبر Cloud PHP

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

  1. تحميل مستند PDF
  2. ضغط مستند PDF
  3. تنزيل مستند PDF المحسن
 

ضغط PDF باستخدام PHP


    require __DIR__.'vendor\autoload.php';

    use Aspose\PDF\Configuration;
    use Aspose\PDF\Api\PdfApi;

    $credentials = json_decode(file_get_contents(__DIR__ . 'credentials.json'), true);

    $configParams = [
        "LOCAL_FOLDER" => "C:\\Samples\\",
        "PDF_DOCUMENT_NAME" => "sample.pdf",
        "TEMP_FOLDER" => "TempPdfCloud",
        "LOCAL_RESULT_DOCUMENT_NAME" => "output_sample.pdf",
    ];

    class PdfCompress
    {
        private $pdfApi;
        private $configParams;

        private function _create_rest_api() {
            $credentials = json_decode(file_get_contents("credentials.json"), true);

            $configAuth = new Configuration();
            $configAuth->setAppKey($credentials['key']);
            $configAuth->setAppSid($credentials['id']);

            $this->pdfApi = new PdfApi(null, $configAuth);
        }

        public function __construct($config) {
            $this->configParams = $config;
            $this->_create_rest_api();
        }

        public function uploadDocument()
        {
            $filePath = $this->configParams["LOCAL_FOLDER"] . DIRECTORY_SEPARATOR . $this->configParams["PDF_DOCUMENT_NAME"];
            $fileData = file_get_contents($filePath);

            $storagePath = $this->configParams["TEMP_FOLDER"] . DIRECTORY_SEPARATOR . $this->configParams["PDF_DOCUMENT_NAME"];

            $this->pdfApi->uploadFile($storagePath, $fileData);
            echo "File: '{$this->configParams["PDF_DOCUMENT_NAME"]}' successfully uploaded." . PHP_EOL;
        }

        public function downloadResult()
        {
            $fileName = $this->configParams["TEMP_FOLDER"] . DIRECTORY_SEPARATOR . $this->configParams["PDF_DOCUMENT_NAME"];
            $downloaded = $this->pdfApi->downloadFile($fileName);

            $filePath = $this->configParams["LOCAL_FOLDER"] . DIRECTORY_SEPARATOR . $this->configParams["LOCAL_RESULT_DOCUMENT_NAME"];
            file_put_contents($filePath, $downloaded);
            echo "Downloaded: {$filePath}" . PHP_EOL;
        }

        public function compressPdfDocument()
        {
            $options = new \Aspose\PDF\Model\OptimizeOptions();
            $options->setAllowReusePageContent(true);
            $options->setCompressImages(true);
            $options->setImageQuality(100);
            $options->setLinkDuplcateStreams(true);
            $options->setRemoveUnusedObjects(true);
            $options->setRemoveUnusedStreams(true);
            $options->setUnembedFonts(true);

            $response = $this->pdfApi->postOptimizeDocument(
                $this->configParams["PDF_DOCUMENT_NAME"],
                $options,
                null,
                $this->configParams["TEMP_FOLDER"]
            );

            if ($response->getCode() != 200) {
                echo "compressPdfDocument(): Failed to compress the PDF document!" . PHP_EOL;
            } else {
                echo "compressPdfDocument(): Successfully compressed the PDF document '{$this->configParams["PDF_DOCUMENT_NAME"]}' !" . PHP_EOL;
            }
        }
    }

    try {
        $compressor = new PdfCompress($pdfApi, $configParams);
        $compressor->uploadDocument();
        $compressor->compressPdfDocument();
        $compressor->downloadResult();
    } catch (Exception $e) {
        echo "Error: " . $e->getMessage() . PHP_EOL;
    }
 

باستخدام مكتبتنا لـ PHP يمكنك:

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

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