如何创建 Docker 映像以通过 Java 运行 Node.js 的 GroupDocs.Conversion

本文提供了有关如何创建 docker 映像以通过 java 运行适用于 Node.js 的 GroupDocs.Conversion 的分步说明。它包括用于 安装 node.js 以通过 java 运行 Node.js 的 GroupDocs.Conversion 的脚本,并提供示例代码来验证安装。此外,您还将找到有关通过终端运行 Docker 映像和执行示例代码的指南,说明如何通过 Java 使用 GroupDocs.Conversion for Node.js。以下是需要遵循的基本步骤:

通过 Java 安装 Node.js 的 GroupDocs.Conversion 的步骤

  1. 在您的系统上创建一个目录
  2. 将创建 Docker 映像的指令写入名为 Dockerfile 的文件中
  3. 将 Node.js 代码写入名为 gdapp.js 的文件中
  4. 将这两个文件复制到最近创建的目录中
  5. 将输入的DOCX文件放入同一目录中
  6. 访问前面提到的目录中的终端/命令窗口并执行以下命令来生成 Docker 镜像
  7. docker build -t gd-conversion-image 。
  8. 运行以下命令来运行容器将输入 DOCX 转换为 PDF
  9. docker run -it gd-conversion-image

上述步骤解释了如何通过 java 将 GroupDocs.Conversion 用于 node.js。首先,您需要创建必要的文件并将它们保存在指定的文件夹中。然后,在同一目录中打开终端/命令窗口。在后续步骤中,您将执行命令来构建 Docker 映像并使用第二个命令运行它。 gdapp.js 中的代码示例将 Word 文档转换为 PDF。执行以下代码示例后,您可以在同一目录中找到输出的 PDF 文件。

用于安装 Node.js 以通过 Java 运行 Node.js 的 GroupDocs.Conversion 的脚本

Dockerfile

# Dockerfile instructions
# Use a base OpenJDK 8 image
FROM openjdk:8
# Install Node.js
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - && \
apt-get install -y nodejs
# Install Python 2.x
RUN apt-get update && apt-get install -y --no-install-recommends \
python2.7 \
&& ln -s /usr/bin/python2.7 /usr/bin/python \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Install pip for Python 2.x
RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py && \
python get-pip.py && \
rm get-pip.py
# Install node-java module
RUN npm install -g node-java
# Install build tools required for node-gyp
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Set working directory
WORKDIR /app
# Copy your application files to the container
COPY . /app
# Set npm config to use non-root user
RUN npm config set unsafe-perm true
# Install groupdocs.conversion package globally
RUN npm i @groupdocs/groupdocs.conversion
# Start your application
CMD ["node", "gdapp.js"]

gdapp.js

const conversion = require('@groupdocs/groupdocs.conversion')
// Load the input DOCX file
const converter = new conversion.Converter("input.docx");
// Set the conversion options for PDF format
const options = new conversion.PdfConvertOptions();
// Save output PDF to disk
converter.convert("output.pdf", options);

此 Docker 脚本首先以 OpenJDK 8 映像为基础,然后继续安装 Node.js、Python 2.x、PIP 命令、Node-Java Bridge、node-gyp 的基本构建工具以及 Node 的 GroupDocs.Conversion .js 通过 npm 命令。如果您希望在容器内执行代码,可以使用以下命令:docker run -it -v /PathToSharedFolderOnHostComputer:/SharedFolder gd-conversion-image /bin/bash”。该命令允许主机和 Docker 容器之间共享文件夹,方便数据交换。

当您执行 Docker 映像时,它会生成一个容器并显示命令提示符。在此提示符中,执行命令node gdapp.js”,该命令执行 DOCX 文件到 PDF 的转换。由于容器缺少文档查看工具,您可以将生成的 PDF 文件传输到容器内名为SharedFolder”的共享文件夹。此操作将使文件可在主机上的PathToSharedFolderOnHostComputer”目录中访问,并可使用 PDF 查看器查看该文件。

 简体中文