通过 Java 使用 Docker 安装 Aspose.Slides for Node.js
Contents
[
Hide
]
前置条件:
- 在您的机器上安装 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