HTML JPG PDF XML DOCX
  Product Family
PDF

在 Node.js 云 API 中压缩 PDF

使用云端 Node.js SDK 优化 PDF 文档的 API

Get Started

如何通过 Node.js SDK 压缩 PDF

要压缩 PDF,我们将使用 Aspose.PDF Cloud Node.js SDK。这个云 SDK 帮助 Node.js 程序员使用 Aspose.PDF REST API 开发基于云的 PDF 创建、注解、编辑和转换应用程序。只需在 Aspose for Cloud 创建一个账户并获取您的应用信息。一旦您拥有 App SID 和密钥,您就可以开始使用 Aspose.PDF Cloud Node.js SDK。此方法通过 Aspose.PDF Cloud SDK for Node.js 高效优化 PDF 文档。通过自动化上传、优化和下载过程,它简化了开发人员的工作流程。多种优化选项确保生成的 PDF 在不影响质量的情况下更小。

包管理器控制台命令


     
    npm install asposepdfcloud --save
     
     

通过云端 Node.js 压缩 PDF 的步骤

Aspose.PDF Cloud 开发人员可以轻松地在几行代码中加载和压缩 PDF。

  1. 初始化 Aspose PDF API
  2. 将 PDF 文档上传到云存储
  3. 压缩 PDF 文档
  4. 下载优化后的 PDF 文档
  5. 执行优化过程
 

使用 Node.js 压缩 PDF


    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 库,您可以

使用 Aspose.PDF Cloud Node.js SDK 压缩 PDF 文档。

  • 添加 PDF 文档的文本或图像格式的页眉和页脚。
  • 向 PDF 文档添加表格和印章(文本或图像)。
  • 将多个 PDF 文档附加到现有文件。
  • 使用 PDF 附件、注释和表单字段。
  • 对 PDF 文档应用加密或解密并设置密码。
  • 从页面或整个 PDF 文档中删除所有印章和表格。
  • 通过其 ID 从 PDF 文档中删除特定的印章或表格。
  • 替换 PDF 页面上或整个文档中的单个或多个文本实例。
  • 广泛支持将 PDF 文档转换为各种其他文件格式。
  • 提取 PDF 文件的各种元素并优化 PDF 文档。
  • 您可以尝试我们的免费应用来测试功能。