Windows 開發環境已用 `swftools` (含 `pdf2swf.exe`) 實現 PDF 轉 SWF,需部署到 Linux 伺服器。
# CentOS/RHEL
yum install -y gcc gcc-c++ make zlib-devel libjpeg-devel giflib-devel freetype-devel fontconfig-devel
# Ubuntu/Debian
apt-get update && apt-get install -y build-essential libz-dev libjpeg-dev libgiflib-dev libfreetype6-dev libfontconfig1-dev
wget https://www.swftools.org/swftools-0.9.2.tar.gz
tar -xzf swftools-0.9.2.tar.gz
cd swftools-0.9.2
./configure --prefix=/usr/local/swftools
make && make install
/usr/local/swftools/bin/pdf2swf --version
# 輸出版本號即成功
String cmd = "/usr/local/swftools/bin/pdf2swf -o " + swfPath + " " + pdfPath;
Process process = Runtime.getRuntime().exec(cmd);
int exitCode = process.waitFor();
if (exitCode != 0) {
// 讀取 error stream 診斷
try (BufferedReader br = new BufferedReader(new InputStreamReader(process.getErrorStream()))) {
String line;
while ((line = br.readLine()) != null) log.error(line);
}
}
Linux 安裝 `swftools` 關鍵在**依賴庫完整**、**字體配置正確**、**編譯參數指定 xpdf/poppler 路徑**。Java 呼叫同 Windows,只需路徑改為 Linux 絕對路徑。