Docker を使用して Java 経由で Node.js 用 Aspose.Slides をインストール
Contents
[
Hide
]
前提条件:
- マシンに Docker をインストールしてください。公式インストールガイドはhereをご覧ください。
手順:
1. Create 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/*
# 一部の npm パッケージ(例: node-gyp)で必要となる Python 2.x をインストール
RUN apt-get update && \
apt-get install -y python2 && \
rm -rf /var/lib/apt/lists/*
# Aspose.Slides の Java 依存関係に必要な OpenJDK 11 をインストール
RUN apt-get update && \
apt-get install -y openjdk-11-jdk && \
rm -rf /var/lib/apt/lists/*
# ネイティブモジュール構築に必要な 'make' などのツールを含む build-essential パッケージをインストール
RUN apt-get update && \
apt-get install -y build-essential && \
rm -rf /var/lib/apt/lists/*
# Node.js 用のネイティブアドオンをコンパイルするツールである node-gyp をグローバルにインストール
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
# Aspose.Slides を使用してプレゼンテーションを作成するサンプルコードを含む index.js ファイルを作成
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 に指定された Aspose.Slides via Java パッケージをインストール
RUN npm install aspose.slides.via.java
# コンテナ起動時にアプリケーションを実行するデフォルトコマンドを設定
CMD ["node", "index.js"]
2. Build Docker Image
Dockerfile があるディレクトリで次のコマンドを実行し、Docker イメージをビルドします:
docker build -t aspose-slides-nodejs .
3. Run Docker Container
コンテナを実行し、その ID を保存します:
CONTAINER_ID=$(docker create aspose-slides-nodejs)
docker start -a $CONTAINER_ID
4. Access Aspose.Slides in Docker
コンテナを起動すると、スクリプトが PPTX ファイルを生成します。生成された出力ファイル NewPresentation.pptx はコンテナ内の /app フォルダーにあります:
docker cp $CONTAINER_ID:/app/NewPresentation.pptx ./NewPresentation.pptx
一時コンテナを削除します:
docker rm $CONTAINER_ID