Converter documentos do Word em PDF usando Node.js

PDF é o formato preferido para compartilhar documentos importantes, e é uma prática comum compartilhar documentos do Word em formato PDF. Embora o Microsoft Office forneça uma funcionalidade integrada para converter Word em PDF, pode ser necessário converter seus documentos do Word (DOC ou DOCX) em PDF programaticamente. Como desenvolvedor Node.js, você pode facilmente converter documentos do Word em arquivos PDF em seus aplicativos Node.js na nuvem. Neste artigo, você aprenderá como converter documentos do Word em PDF usando uma API REST no Node.js.

Os seguintes tópicos serão abordados neste artigo:

API REST de conversão de DOCX para PDF e SDK Node.js

Para converter DOCX em PDF, usarei a API Node.js SDK of GroupDocs.Conversion Cloud. É uma solução de conversão de documentos e imagens independente de plataforma, sem depender de nenhuma ferramenta ou software. Ele permite que você converta de forma rápida e confiável imagens e documentos de qualquer formato de arquivo suportado para qualquer formato que você precisar. Você pode converter facilmente entre mais de 50 tipos de documentos e imagens, como Word, PowerPoint, Excel, PDF, HTML, CAD, imagens raster, etc.

Você pode instalar o GroupDocs.Conversion Cloud em seu projeto Node.js usando o seguinte comando no console:

npm install groupdocs-conversion-cloud

Obtenha seu ID de cliente e Segredo do cliente no painel antes de começar a seguir as etapas e os exemplos de código disponíveis. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:

global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const config = new groupdocs_conversion_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

Converter documentos do Word em PDF usando uma API REST no Node.js

Você pode converter seus documentos do Word em PDF programaticamente na nuvem seguindo as etapas simples abaixo:

  1. Upload o arquivo DOCX para a nuvem
  2. Converter DOCX para PDF usando Node.js
  3. Baixe o arquivo PDF convertido

Carregar o arquivo DOCX

Em primeiro lugar, carregue o arquivo DOCX na nuvem usando o seguinte exemplo de código:

// Abra o arquivo no IOStream do local/disco.
var resourcesFolder = 'C:\\Files\\sample.docx';
// ler arquivo
fs.readFile(resourcesFolder, (err, fileStream) => {
  // construir FileApi
  var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);
  // criar solicitação de upload de arquivo
  var request = new groupdocs_conversion_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
  // subir arquivo
  fileApi.uploadFile(request);
});

Como resultado, o arquivo DOCX carregado estará disponível na seção de arquivos do seu painel na nuvem.

Converter DOCX para PDF usando Node.js

Você pode facilmente converter documentos DOCX em PDF programaticamente seguindo as etapas mencionadas abaixo:

  • Crie uma instância do ConvertApi
  • Crie uma instância do ConvertSettings
  • Forneça o caminho do arquivo DOCX de entrada
  • Atribuir “pdf” ao formato
  • Forneça o caminho do arquivo de saída
  • Criar ConvertDocumentRequest com ConvertSettings
  • Converter chamando o método convertDocument() com ConvertDocumentRequest

O exemplo de código a seguir mostra como converter DOCX em PDF usando uma API REST em Node.js.

// inicializar API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// definir configurações de conversão
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.docx";
settings.format = "pdf";
settings.outputPath = "sample.pdf";

// criar solicitação de conversão de documento
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

// converter documento
let result = await convertApi.convertDocument(request);
console.log("Document converted successfully: " + result[0].url);
Converter documentos do Word em PDF usando uma API REST no Node.js

Converter documentos do Word em PDF usando uma API REST no Node.js

Baixe o arquivo convertido

O exemplo de código acima salvará o arquivo PDF convertido na nuvem. Você pode baixá-lo usando o seguinte exemplo de código:

// construir FileApi
var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);

// criar solicitação de download de arquivo
let request = new groupdocs_conversion_cloud.DownloadFileRequest("sample.pdf", myStorage);

// ⇬ Fazer download do arquivo
let response = await fileApi.downloadFile(request);

// salve em seu diretório de trabalho
fs.writeFile("C:\\Files\\sample.pdf", response, "binary", function (err) { });

Conversão de Word para PDF com opções avançadas

Você pode converter documentos do Word em arquivos PDF com algumas configurações avançadas seguindo as etapas abaixo:

  • Crie uma instância do ConvertApi
  • Crie uma instância do ConvertSettings
  • Forneça o caminho do arquivo DOCX
  • Atribuir “pdf” ao formato
  • Forneça o caminho do arquivo de saída
  • Crie uma instância do DocxLoadOptions
  • Opcionalmente, defina várias opções de carregamento, como hideComments, hideWordTrackedChanges, etc.
  • Crie uma instância do PdfConvertOptions
  • Opcionalmente, defina várias opções de conversão, como displayDocTitle, margens (superior, esquerda, direita, inferior), etc.
  • Criar ConvertDocumentRequest com ConvertSettings
  • Converter chamando o método convertDocument() com ConvertDocumentRequest

O exemplo de código a seguir mostra como converter um documento do Word em um documento PDF com opções avançadas de conversão.

// inicialização da API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// definir configurações de conversão
var settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.storageName = myStorage;
settings.filePath = "sample.docx";
settings.format = "pdf";

// definir opções de carregamento DOCX
var loadOptions = new groupdocs_conversion_cloud.DocxLoadOptions();
loadOptions.password = "password";			// password
loadOptions.hideComments = true;			// hide comments
loadOptions.hideWordTrackedChanges = true;	// hide track changes

settings.loadOptions = loadOptions;

// definir opções de conversão de PDF
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.centerWindow = true;		  // set position of the document's window. Default: false.
convertOptions.displayDocTitle = true;	// display document title. Default: false
convertOptions.marginTop = 5;			      // top margin
convertOptions.marginLeft = 5;			    // left margin
convertOptions.marginRight = 5;			    // right margin
convertOptions.marginBottom = 5;			  // bottom margin

settings.convertOptions = convertOptions;
settings.outputPath = "converted_with_options.pdf";

// criar solicitação de conversão de documento
var request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

// converter documento
convertApi.convertDocument(request);

Converta Word para PDF com marca d’água usando Node.js

Você pode converter documentos do Word em documentos PDF e adicionar marcas d’água aos documentos convertidos programaticamente seguindo as etapas abaixo:

  • Crie uma instância do ConvertApi
  • Crie uma instância do ConvertSettings
  • Forneça o caminho do arquivo DOCX de entrada
  • Atribuir “pdf” ao formato
  • Forneça o caminho do arquivo de saída
  • Crie uma instância de WatermarkOptions
  • Defina o texto da marca d’água, cor, largura, altura, etc.
  • Defina as PdfConvertOptions e atribua WatermarkOptions
  • Criar ConvertDocumentRequest com ConvertSettings
  • Converter chamando o método convertDocument() com ConvertDocumentRequest

O exemplo de código a seguir mostra como converter um documento do Word em um documento PDF e adicionar uma marca d’água ao documento PDF convertido usando uma API REST no Node.js. Siga as etapas mencionadas anteriormente para fazer upload e download de arquivos.

// inicialização da API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// definir configurações de conversão
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.docx";
settings.format = "pdf";
settings.outputPath = "converted_with_watermark.pdf";

// definir opções de marca d'água
let watermark = new groupdocs_conversion_cloud.WatermarkOptions();
watermark.text = "CONFIDENTIAL";
watermark.bold = true;
watermark.fontSize = 54;
watermark.color = "Gray";
watermark.background = false;
watermark.rotationAngle = 30;
watermark.left = 120;
watermark.top = 400;

// definir opções de conversão de pdf
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.watermarkOptions = watermark;

settings.convertOptions = convertOptions

// definir solicitação de conversão de documento
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

// converter documento
let result = await convertApi.convertDocument(request);
console.log("Document converted successfully: " + result[0].url);
Converta Word para PDF com marca d'água usando Node.js

Converta Word para PDF com marca d’água usando Node.js

Conversão de DOCX para PDF sem usar armazenamento em nuvem

Você pode converter um documento do Word em PDF sem usar o armazenamento em nuvem passando-o no corpo da solicitação e recebendo o arquivo de saída na resposta da API. Siga as etapas mencionadas abaixo para converter um DOCX em PDF sem usar o armazenamento em nuvem.

  • Crie uma instância do ConvertApi
  • Leia o arquivo DOCX de entrada do caminho local
  • Criar ConvertDocumentDirectRequest
  • Forneça o formato de destino como “pdf” e o caminho do arquivo de entrada como parâmetros de entrada
  • Obtenha resultados chamando o método convertDocumentDirect() com ConvertDocumentDirectRequest
  • Salve o arquivo de saída no caminho local usando o método FileStream.writeFile()

O exemplo de código a seguir mostra como converter um documento do Word em PDF sem usar o armazenamento em nuvem.

// inicialização da API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// ler arquivo de entrada
let file = fs.readFileSync('C:\\Files\\sample.docx');

// criar lista de conversão
let request = new groupdocs_conversion_cloud.ConvertDocumentDirectRequest("pdf", file);

// converter documento
let result = await convertApi.convertDocumentDirect(request);

// gravar arquivo de saída
fs.writeFile("C:\\Files\\sample_direct.pdf", result, "binary", function (err) { });
console.log("Document converted: " + result.length);

Converter intervalo de páginas de DOCX para PDF em Node.js

Você pode converter facilmente um intervalo de páginas de um documento do Word em um arquivo PDF programaticamente seguindo as etapas mencionadas abaixo:

  • Crie uma instância do ConvertApi
  • Crie uma instância do ConvertSettings
  • Forneça o caminho do arquivo DOCX de entrada
  • Atribuir “pdf” ao formato
  • Forneça o caminho do arquivo de saída
  • Crie uma instância do PdfConvertOptions
  • Forneça um intervalo de páginas para converter do número da página inicial e o total de páginas para converter
  • Atribuir PdfConvertOptions para ConvertSettings
  • Criar ConvertDocumentRequest com ConvertSettings
  • Converter chamando o método convertDocument() com ConvertDocumentRequest

O exemplo de código a seguir mostra como converter um intervalo de páginas de um DOCX para PDF usando uma API REST em Node.js. Siga as etapas mencionadas anteriormente para fazer upload e download de um arquivo.

// inicialização da API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// definir configurações de conversão
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.docx";
settings.format = "pdf";

// definir opções de conversão de PDF
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.fromPage = 1;    // start page number
convertOptions.pagesCount = 2;  // total pages to convert

settings.convertOptions = convertOptions
settings.outputPath = "two-pages.pdf";

// criar solicitação de conversão
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

// converter documento
let result = await convertApi.convertDocument(request);
console.log("Document converted successfully: " + result[0].url);

Converter páginas específicas de DOCX para PDF em Node.js

Você pode converter páginas específicas de um documento do Word em um arquivo PDF programaticamente seguindo as etapas mencionadas abaixo:

  • Crie uma instância do ConvertApi
  • Crie uma instância do ConvertSettings
  • Forneça o caminho do arquivo DOCX de entrada
  • Atribuir “pdf” ao formato
  • Forneça o caminho do arquivo de saída
  • Crie uma instância do PdfConvertOptions
  • Forneça números de página específicos para converter
  • Atribuir PdfConvertOptions para ConvertSettings
  • Criar ConvertDocumentRequest com ConvertSettings
  • Converter chamando o método convertDocument() com ConvertDocumentRequest

O exemplo de código a seguir mostra como converter páginas específicas de um documento do Word em PDF usando uma API REST no Node.js. Siga as etapas mencionadas anteriormente para fazer upload e download de um arquivo.

// inicialização da API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// definir configurações de conversão
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.docx";
settings.format = "pdf";

// definir opções de conversão
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.pages = [1,2]; // page numbers to convert

settings.convertOptions = convertOptions
settings.outputPath = "specific_pages.pdf";

// converter solicitação de documento
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

// converter documento
let result = await convertApi.convertDocument(request);
console.log("Document converted successfully: " + result[0].url);

Experimente on-line

Experimente a seguinte ferramenta de conversão online gratuita de DOCX para PDF, que foi desenvolvida usando a API acima. https://products.groupdocs.app/conversion/docx-to-pdf

Conclusão

Neste artigo, você aprendeu como converter documentos do Word em arquivos PDF na nuvem. Você também aprendeu como converter páginas específicas de um documento do Word em um PDF usando Node.js. Além disso, você aprendeu como converter um intervalo de páginas de um DOCX para um PDF programaticamente. Além disso, você aprendeu como adicionar uma marca d’água ao documento PDF convertido. Este artigo também explicou como carregar programaticamente o arquivo DOCX na nuvem e, em seguida, baixar o arquivo PDF convertido da nuvem. Você pode aprender mais sobre GroupDocs.Conversion Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.

Veja também