Convierta documentos de Word a PDF usando Node.js

PDF es el formato preferido para compartir documentos importantes y es una práctica común compartir documentos de Word en formato PDF. Aunque Microsoft Office proporciona una funcionalidad integrada para convertir Word a PDF, es posible que deba convertir sus documentos de Word (DOC o DOCX) a PDF mediante programación. Como desarrollador de Node.js, puede convertir fácilmente documentos de Word en archivos PDF en sus aplicaciones de Node.js en la nube. En este artículo, aprenderá cómo convertir documentos de Word a PDF usando una API REST en Node.js.

En este artículo se tratarán los siguientes temas:

API REST de conversión de DOCX a PDF y SDK de Node.js

Para convertir DOCX a PDF, utilizaré la API Node.js SDK de GroupDocs.Conversion Cloud. Es una solución de conversión de documentos e imágenes independiente de la plataforma sin depender de ninguna herramienta o software. Le permite convertir de forma rápida y fiable imágenes y documentos de cualquier formato de archivo compatible a cualquier formato que necesite. Puede convertir fácilmente entre más de 50 tipos de documentos e imágenes como Word, PowerPoint, Excel, PDF, HTML, CAD, imágenes rasterizadas, etc.

Puede instalar GroupDocs.Conversion Cloud en su proyecto Node.js usando el siguiente comando en la consola:

npm install groupdocs-conversion-cloud

Obtenga su ID de cliente y Secreto de cliente del panel de control antes de comenzar a seguir los pasos y los ejemplos de código disponibles. Una vez que tenga su identificación y secreto, agregue el código como se muestra a continuación:

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";

Convierta documentos de Word a PDF usando una API REST en Node.js

Puede convertir sus documentos de Word a PDF mediante programación en la nube siguiendo los sencillos pasos que se detallan a continuación:

  1. Subir el archivo DOCX a la nube
  2. Convertir DOCX a PDF usando Node.js
  3. Descargar el archivo PDF convertido

Sube el archivo DOCX

En primer lugar, cargue el archivo DOCX en la nube utilizando el siguiente ejemplo de código:

// Abra el archivo en IOStream desde local/disco.
var resourcesFolder = 'C:\\Files\\sample.docx';
// leer archivo
fs.readFile(resourcesFolder, (err, fileStream) => {
  // construir FileApi
  var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);
  // crear solicitud de carga de archivo
  var request = new groupdocs_conversion_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
  // subir archivo
  fileApi.uploadFile(request);
});

Como resultado, el archivo DOCX cargado estará disponible en la sección de archivos de su tablero en la nube.

Convierta DOCX a PDF usando Node.js

Puede convertir fácilmente un documento DOCX a PDF mediante programación siguiendo los pasos que se mencionan a continuación:

  • Crear una instancia de ConvertApi
  • Cree una instancia de ConvertSettings
  • Proporcione la ruta del archivo DOCX de entrada
  • Asignar “pdf” al formato
  • Proporcione la ruta del archivo de salida
  • Crear ConvertDocumentRequest con ConvertSettings
  • Convierta llamando al método convertDocument() con ConvertDocumentRequest

El siguiente ejemplo de código muestra cómo convertir DOCX a PDF usando una API REST en Node.js.

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

// definir la configuración de conversión
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.docx";
settings.format = "pdf";
settings.outputPath = "sample.pdf";

// crear solicitud de documento de conversión
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

// convertir documento
let result = await convertApi.convertDocument(request);
console.log("Document converted successfully: " + result[0].url);
Convierta documentos de Word a PDF usando una API REST en Node.js

Convierta documentos de Word a PDF usando una API REST en Node.js

Descargar el archivo convertido

El ejemplo de código anterior guardará el archivo PDF convertido en la nube. Puede descargarlo utilizando el siguiente ejemplo de código:

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

// crear solicitud de archivo de descarga
let request = new groupdocs_conversion_cloud.DownloadFileRequest("sample.pdf", myStorage);

// descargar archivo
let response = await fileApi.downloadFile(request);

// guardar en su directorio de trabajo
fs.writeFile("C:\\Files\\sample.pdf", response, "binary", function (err) { });

Conversión de Word a PDF con opciones avanzadas

Puede convertir documentos de Word a archivos PDF con algunas configuraciones avanzadas siguiendo los pasos que se detallan a continuación:

  • Crear una instancia de ConvertApi
  • Cree una instancia de ConvertSettings
  • Proporcione la ruta del archivo DOCX
  • Asignar “pdf” al formato
  • Proporcione la ruta del archivo de salida
  • Cree una instancia de DocxLoadOptions
  • Opcionalmente, configure varias opciones de carga como hideComments, hideWordTrackedChanges, etc.
  • Cree una instancia de PdfConvertOptions
  • Opcionalmente, establezca varias opciones de conversión, como mostrar el título del documento, los márgenes (superior, izquierdo, derecho, inferior), etc.
  • Crear ConvertDocumentRequest con ConvertSettings
  • Convierta llamando al método convertDocument() con ConvertDocumentRequest

El siguiente ejemplo de código muestra cómo convertir un documento de Word en un documento PDF con opciones de conversión avanzadas.

// inicialización de la API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// definir la configuración de conversión
var settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.storageName = myStorage;
settings.filePath = "sample.docx";
settings.format = "pdf";

// definir opciones de carga 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 las opciones de conversión 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";

// crear solicitud de documento de conversión
var request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

// convertir documento
convertApi.convertDocument(request);

Convierta Word a PDF con marca de agua usando Node.js

Puede convertir documentos de Word a documentos PDF y agregar marcas de agua a documentos convertidos mediante programación siguiendo los pasos que se detallan a continuación:

  • Crear una instancia de ConvertApi
  • Cree una instancia de ConvertSettings
  • Proporcione la ruta del archivo DOCX de entrada
  • Asignar “pdf” al formato
  • Proporcione la ruta del archivo de salida
  • Crear una instancia de WatermarkOptions
  • Establecer texto de marca de agua, color, ancho, alto, etc.
  • Defina PdfConvertOptions y asigne WatermarkOptions
  • Crear ConvertDocumentRequest con ConvertSettings
  • Convierta llamando al método convertDocument() con ConvertDocumentRequest

El siguiente ejemplo de código muestra cómo convertir un documento de Word en un documento PDF y agregar una marca de agua al documento PDF convertido mediante una API REST en Node.js. Siga los pasos mencionados anteriormente para cargar y descargar archivos.

// inicialización de la API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// definir la configuración de conversión
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.docx";
settings.format = "pdf";
settings.outputPath = "converted_with_watermark.pdf";

// definir opciones de marca de agua
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 opciones de conversión de pdf
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.watermarkOptions = watermark;

settings.convertOptions = convertOptions

// definir solicitud de conversión de documento
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

// convertir documento
let result = await convertApi.convertDocument(request);
console.log("Document converted successfully: " + result[0].url);
Convierta Word a PDF con marca de agua usando Node.js

Convierta Word a PDF con marca de agua usando Node.js

Conversión de DOCX a PDF sin usar Cloud Storage

Puede convertir un documento de Word a PDF sin usar el almacenamiento en la nube pasándolo en el cuerpo de la solicitud y recibiendo el archivo de salida en la respuesta de la API. Siga los pasos que se mencionan a continuación para convertir un DOCX a PDF sin usar el almacenamiento en la nube.

  • Crear una instancia de ConvertApi
  • Lea el archivo DOCX de entrada desde la ruta local
  • Crear ConvertDocumentDirectRequest
  • Proporcione el formato de destino como “pdf” y la ruta del archivo de entrada como parámetros de entrada
  • Obtenga resultados llamando al método convertDocumentDirect() con ConvertDocumentDirectRequest
  • Guarde el archivo de salida en la ruta local usando el método FileStream.writeFile()

El siguiente ejemplo de código muestra cómo convertir un documento de Word a PDF sin utilizar el almacenamiento en la nube.

// inicialización de la API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

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

// crear convertir solicitud
let request = new groupdocs_conversion_cloud.ConvertDocumentDirectRequest("pdf", file);

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

// escribir archivo de salida
fs.writeFile("C:\\Files\\sample_direct.pdf", result, "binary", function (err) { });
console.log("Document converted: " + result.length);

Convierta rango de páginas de DOCX a PDF en Node.js

Puede convertir fácilmente un rango de páginas de un documento de Word a un archivo PDF mediante programación siguiendo los pasos que se mencionan a continuación:

  • Crear una instancia de ConvertApi
  • Cree una instancia de ConvertSettings
  • Proporcione la ruta del archivo DOCX de entrada
  • Asignar “pdf” al formato
  • Proporcione la ruta del archivo de salida
  • Cree una instancia de PdfConvertOptions
  • Proporcione un rango de páginas para convertir desde el número de página de inicio y el total de páginas para convertir
  • Asigne PdfConvertOptions a ConvertSettings
  • Crear ConvertDocumentRequest con ConvertSettings
  • Convierta llamando al método convertDocument() con ConvertDocumentRequest

El siguiente ejemplo de código muestra cómo convertir un rango de páginas de DOCX a PDF usando una API REST en Node.js. Siga los pasos mencionados anteriormente para cargar y descargar un archivo.

// inicialización de la API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// definir la configuración de conversión
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.docx";
settings.format = "pdf";

// definir las opciones de conversión 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";

// crear solicitud de conversión
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

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

Convierta páginas específicas de DOCX a PDF en Node.js

Puede convertir páginas específicas de un documento de Word en un archivo PDF mediante programación siguiendo los pasos que se mencionan a continuación:

  • Crear una instancia de ConvertApi
  • Cree una instancia de ConvertSettings
  • Proporcione la ruta del archivo DOCX de entrada
  • Asignar “pdf” al formato
  • Proporcione la ruta del archivo de salida
  • Cree una instancia de PdfConvertOptions
  • Proporcione números de página específicos para convertir
  • Asigne PdfConvertOptions a ConvertSettings
  • Crear ConvertDocumentRequest con ConvertSettings
  • Convierta llamando al método convertDocument() con ConvertDocumentRequest

El siguiente ejemplo de código muestra cómo convertir páginas específicas de un documento de Word a PDF mediante una API REST en Node.js. Siga los pasos mencionados anteriormente para cargar y descargar un archivo.

// inicialización de la API
let convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

// definir la configuración de conversión
let settings = new groupdocs_conversion_cloud.ConvertSettings();
settings.filePath = "sample.docx";
settings.format = "pdf";

// definir opciones de conversión
let convertOptions = new groupdocs_conversion_cloud.PdfConvertOptions();
convertOptions.pages = [1,2]; // page numbers to convert

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

// convertir solicitud de documento
let request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);

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

Prueba en línea

Pruebe la siguiente herramienta gratuita de conversión de DOCX a PDF en línea, que se desarrolla utilizando la API anterior. https://products.groupdocs.app/conversion/docx-to-pdf

Conclusión

En este artículo, ha aprendido cómo convertir documentos de Word a archivos PDF en la nube. También aprendió cómo convertir páginas específicas de un documento de Word a PDF usando Node.js. Además, ha aprendido cómo convertir un rango de páginas de un DOCX a un PDF mediante programación. Además, ha aprendido cómo agregar una marca de agua al documento PDF convertido. Este artículo también explicó cómo cargar mediante programación el archivo DOCX en la nube y luego descargar el archivo PDF convertido desde la nube. Puede obtener más información sobre GroupDocs.Conversion Cloud API utilizando la documentación. También proporcionamos una sección Referencia de API que le permite visualizar e interactuar con nuestras API directamente a través del navegador. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también