我在 gswin64c sDEVICE=pdfwrite 中做错了什么吗?

Am I doing something wrong in gswin64c sDEVICE=pdfwrite?

我一直在命令行中使用 Ghostscript

gswin64c sDEVICE=pdfwrite -o out.pdf in.pdf

很长一段时间以来都取得了巨大的成功。 Ghostscript 的位置被添加到 Windows 10 中的 Path 变量设置中。今天突然停止工作并给出以下错误消息:

GPL Ghostscript 9.55.0 (2021-09-27)
Copyright (C) 2021 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Error: /undefinedfilename in (sDEVICE=pdfwrite)
Operand stack:

Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push
Dictionary stack:
   --dict:762/1123(ro)(G)--   --dict:0/20(G)--   --dict:75/200(L)--
Current allocation mode is local
Last OS error: No such file or directory
GPL Ghostscript 9.55.0: Unrecoverable error, exit code 1

到目前为止我尝试了什么

一切都没有成功,总是给我同样的错误信息。所有尝试过的文件都可以在任何 pdf 查看器中正确显示。

我在这里做错了什么?为什么突然?

很容易完成但阅读错误undefinedfilename in (sDEVICE=pdfwrite)

虽然不是很清楚,但它认为您要求处理该文件。

但是你应该像 -o 输出文件开关一样添加开关 - 信号。

然后,如果没有 IN 文件,则消息会更改

gswin64c -sDEVICE=pdfwrite -o out.pdf in.pdf

GPL Ghostscript 9.55.0 (2021-09-27)
Copyright (C) 2021 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.

错误:/undefinedfilename in (in.pdf)

Operand stack:

Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push
Dictionary stack:
   --dict:764/1123(ro)(G)--   --dict:0/20(G)--   --dict:75/200(L)--
Current allocation mode is local
Last OS error: No such file or directory
GPL Ghostscript 9.55.0: Unrecoverable error, exit code 1

请注意,如果您养成使用

的习惯,它有时可以减少以后的问题

gswin64c -sDEVICE=pdfwrite -o"out.pdf" -f"in.pdf"