Instalar Aspose.Slides para Node.js mediante Java usando Docker
Requisitos:
- Instala Docker en tu máquina. Puedes seguir la guía oficial de instalación aquí.
Pasos:
1. Crear Dockerfile
Crea un nuevo archivo llamado Dockerfile en el directorio de tu proyecto con el siguiente contenido:
Utiliza Ubuntu 20.04 como imagen base
FROM ubuntu:20.04
Actualiza la lista de paquetes e instala los paquetes esenciales para añadir repositorios y descargar archivos
RUN apt-get update &&
apt-get install -y curl gnupg2 software-properties-common &&
rm -rf /var/lib/apt/lists/*
Instala Node.js versión 18.x desde el repositorio Nodesource
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - &&
apt-get install -y nodejs &&
rm -rf /var/lib/apt/lists/*
Instala Python 2.x, que es necesario para algunos paquetes npm como node-gyp
RUN apt-get update &&
apt-get install -y python2 &&
rm -rf /var/lib/apt/lists/*
Instala OpenJDK 11, que es necesario para las dependencias Java de Aspose.Slides
RUN apt-get update &&
apt-get install -y openjdk-11-jdk &&
rm -rf /var/lib/apt/lists/*
Instala el paquete build-essential, que incluye herramientas como ‘make’ necesarias para compilar módulos nativos
RUN apt-get update &&
apt-get install -y build-essential &&
rm -rf /var/lib/apt/lists/*
Instala node-gyp globalmente, una herramienta utilizada para compilar complementos nativos para Node.js
RUN npm install -g node-gyp
Establece el directorio de trabajo dentro del contenedor en /app
WORKDIR /app
Crea el archivo package.json con los detalles y dependencias necesarios
RUN echo ‘{\n
“name”: “aspose-slides-app”,\n
“version”: “1.0.0”,\n
“main”: “index.js”,\n
“scripts”: {\n
“start”: “node index.js”\n
},\n
“dependencies”: {\n
“aspose.slides.via.java”: “^25.12.0”\n
}\n
}’ > package.json
Crea el archivo index.js con código de ejemplo para crear una presentación usando Aspose.Slides
RUN echo ‘const slides = require(“aspose.slides.via.java”);\n
var presentation = new slides.Presentation();\n
var slide = presentation.getSlides().get_Item(0);\n
slide.getShapes().addAutoShape(slides.ShapeType.Line, 50, 150, 300, 0);\n
presentation.save("./NewPresentation.pptx", slides.SaveFormat.Pptx);\n
console.log(“Script completed, please check file /app/NewPresentation.pptx!");’ > index.js
Instala el paquete Aspose.Slides vía Java especificado en package.json
RUN npm install aspose.slides.via.java
Establece el comando predeterminado para ejecutar la aplicación cuando el contenedor se inicie
CMD [“node”, “index.js”]
### 2. **Construir Imagen Docker**
Ejecuta el siguiente comando en el directorio donde se encuentra tu Dockerfile para construir la imagen Docker:
```bash
docker build -t aspose-slides-nodejs .
3. Ejecutar Contenedor Docker
Ejecuta el contenedor y guarda su ID:
CONTAINER_ID=$(docker create aspose-slides-nodejs)
docker start -a $CONTAINER_ID
4. Acceder a Aspose.Slides en Docker
Después de iniciar el contenedor, el script generará un archivo PPTX. Puedes encontrar el archivo de salida generado NewPresentation.pptx en la carpeta /app dentro del contenedor:
docker cp $CONTAINER_ID:/app/NewPresentation.pptx ./NewPresentation.pptx
Elimina el contenedor temporal:
docker rm $CONTAINER_ID