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 помогает программистам Node.js разрабатывать облачные приложения для создания, аннотирования, редактирования и конвертации PDF, используя язык программирования Node.js через Aspose.PDF REST API. Просто создайте аккаунт на Aspose for Cloud и получите информацию о вашем приложении. Как только у вас есть 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. Инициализируйте API Aspose PDF
  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 по его ID.
  • Заменять отдельные или несколько экземпляров текста на странице PDF или во всем документе.
  • Широкая поддержка конвертации PDF документов в различные другие форматы файлов.
  • Извлекать различные элементы файлов PDF и оптимизировать документы PDF.
  • Вы можете попробовать наше бесплатное приложение, чтобы протестировать функциональность.