我需要在我们的一个 cgi 中调用 Ghostscript 将 PDF 文件转换为 PNG 图像。此 cgi 在请求中有编码的 PDF 流,然后对其进行解码,例如
我的 $PDF_ENCODED = $q->param('PDF_ENCODED'); 我的 $PDF_DECODED = decode_base64($PDF_ENCODED);
它会通过调用'gs'命令在磁盘上生成一个PNG图像。
我的问题是我不知道如何将 $PDF_DECODED 传递到 gs 命令行。我试过了
系统(“$PDF_DECODED | gs -dNOPAUSE -q -r300 -sDEVICE=png16m -dBATCH -sOutputFile=/tmp/ghostscript/new-test.png-”)
但它不起作用。
谢谢。
再次感谢 golimar 和 simbabque。它正在与
$SIG{管道} = '忽略'; open(FH, "| gs -dNOPAUSE -q -r300 -sDEVICE=png16m -dBATCH -sOutputFile=/tmp/ghostscript/new-test.png -") 或者死 "不能分叉:$!"; print FH "$PDF_DECODED\n" 或 die "can't write: $!"; 关闭 FH 或死“无法关闭:status=$?”;