HTML JPG PDF XML DOCX
  Product Family
PDF

Comprimir PDF na API de Nuvem Node.js

API para trabalhar com otimização de documentos PDF usando Cloud Node.js SDK

Get Started

Como comprimir PDF via Node.js SDK

Para comprimir PDF, usaremos Aspose.PDF Cloud Node.js SDK. Este Cloud SDK auxilia programadores Node.js no desenvolvimento de aplicativos criadores, anotadores, editores e conversores de PDF baseados em nuvem usando a linguagem de programação Node.js via Aspose.PDF REST API. Basta criar uma conta no Aspose for Cloud e obter suas informações de aplicativo. Uma vez que você tenha o App SID & key, estará pronto para usar o Aspose.PDF Cloud Node.js SDK. Este método otimiza documentos PDF de forma eficiente usando o Aspose.PDF Cloud SDK para Node.js. Automatizando os processos de upload, otimização e download, ele simplifica os fluxos de trabalho dos desenvolvedores. Várias opções de otimização garantem que o PDF resultante seja menor em tamanho sem comprometer a qualidade.

Comando do Console do Gerenciador de Pacotes


     
    npm install asposepdfcloud --save
     
     

Passos para comprimir PDF via Cloud Node.js

Os desenvolvedores do Aspose.PDF Cloud podem facilmente carregar e comprimir PDF em apenas algumas linhas de código.

  1. Inicializar a API Aspose PDF
  2. Carregar o Documento PDF para o Armazenamento em Nuvem
  3. Comprimir o Documento PDF
  4. Baixar o Documento PDF Otimizado
  5. Executar o Processo de Otimização
 

Comprimir PDF usando 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);
        }
    }
 

Com nossa biblioteca Node.js você pode

Comprimir documentos PDF com Aspose.PDF Cloud Node.js SDK.

  • Adicionar cabeçalho e rodapé ao documento PDF em formato de texto ou imagem.
  • Adicionar tabelas e selos (texto ou imagem) a documentos PDF.
  • Anexar vários documentos PDF a um arquivo existente.
  • Trabalhar com anexos, anotações e campos de formulário em PDF.
  • Aplicar criptografia ou descriptografia a documentos PDF e definir uma senha.
  • Excluir todos os selos e tabelas de uma página ou de todo o documento PDF.
  • Excluir um selo ou tabela específica do documento PDF pelo seu ID.
  • Substituir uma ou várias instâncias de texto em uma página PDF ou em todo o documento.
  • Suporte extensivo para converter documentos PDF em vários outros formatos de arquivo.
  • Extrair vários elementos de arquivos PDF e tornar os documentos PDF otimizados.
  • Você pode experimentar nosso App gratuito para testar a funcionalidade.