通过 Java 使用 Docker 安装 Aspose.Slides for Node.js

前置条件:

  • 在您的机器上安装 Docker。您可以遵循官方安装指南here

步骤:

1. 创建 Dockerfile

在项目目录中创建一个名为 Dockerfile 的新文件,内容如下:

# 使用 Ubuntu 20.04 作为基础镜像
FROM ubuntu:20.04

# 更新软件包列表并安装添加仓库和下载文件所需的基本软件包
RUN apt-get update && \
   apt-get install -y curl gnupg2 software-properties-common && \
   rm -rf /var/lib/apt/lists/*

# 从 Nodesource 仓库安装 Node.js 18.x 版本
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
   apt-get install -y nodejs && \
   rm -rf /var/lib/apt/lists/*

# 安装 Python 2.x,它是某些 npm 包(如 node-gyp)所需的
RUN apt-get update && \
   apt-get install -y python2 && \
   rm -rf /var/lib/apt/lists/*

# 安装 OpenJDK 11,它是 Aspose.Slides 所需的 Java 依赖项
RUN apt-get update && \
   apt-get install -y openjdk-11-jdk && \
   rm -rf /var/lib/apt/lists/*

# 安装 build-essential 包,其中包括构建本机模块所需的 'make' 等工具
RUN apt-get update && \
   apt-get install -y build-essential && \
   rm -rf /var/lib/apt/lists/*

# 全局安装 node-gyp,这是一款用于编译 Node.js 本机插件的工具
RUN npm install -g node-gyp

# 将容器内的工作目录设置为 /app
WORKDIR /app

# 创建包含必要细节和依赖项的 package.json 文件
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

# 创建 index.js 文件,示例代码用于使用 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

# 安装 package.json 中指定的通过 Java 的 Aspose.Slides 包
RUN npm install aspose.slides.via.java

# 设置容器启动时运行应用程序的默认命令
CMD ["node", "index.js"]

2. 构建 Docker 镜像

在包含 Dockerfile 的目录中运行以下命令以构建 Docker 镜像:

docker build -t aspose-slides-nodejs .

3. 运行 Docker 容器

运行容器并保存其 ID:

CONTAINER_ID=$(docker create aspose-slides-nodejs)
docker start -a $CONTAINER_ID

4. 在 Docker 中访问 Aspose.Slides

启动容器后,脚本将生成一个 PPTX 文件。您可以在容器内的 /app 文件夹中找到生成的输出文件 NewPresentation.pptx

docker cp $CONTAINER_ID:/app/NewPresentation.pptx ./NewPresentation.pptx

删除临时容器:

docker rm $CONTAINER_ID