您还没有说您使用的是哪个版本的 Ghostscript。您没有提供 PDF 文件以便对其进行调查(图片可能显示问题,它们对诊断或修复没有帮助)。
您不应该设置 -dProcessColorModel,尤其是当您设置了 -sColorConversionStrategy 时。
您绝对不应该设置 -sOutputICCProfile。
将 PDFCompatibilityLevel 设置为高于 pdfwrite 设备已经设置的级别确实没有任何意义,除非您通过需要更高级别的 pdfmark 运算符添加内容(而您没有这样做)。
设置 CompressFonts=true 或 EmbedAllFonts=true 也没有意义,因为这些是默认值。
当您尝试诊断问题时,不要选择 -dQUIET,您希望 Ghostscript 告诉您它认为可能存在问题的任何事情。
在 Windows 上(我认为这是因为您在谈论 .bat 文件)Ghostscript 可执行文件称为 gswin32、gswin32c、gswin64 或 gswin64c,而不是 gs。所以我有点不明白你是如何让这个工作的。
您已设置 -dPDFSETTINGS=/ebook 在设置 -sColorConversionStrategy,如果您查看 documentation 中的设置表,您将看到 /ebook 设置将颜色转换策略设置为RGB,因为它在命令行上比 your ColorConversionStrategy 晚,所以它是优先的。 ProcessColorModel(DeviceGray,来自您的命令行)和 ColorConversionStrategy(来自 PDFSETTINGS 值的 RGB)之间的混淆很可能是导致您的问题的原因。
当遇到此类问题时,我建议您简化命令行,直到您弄清楚究竟是什么原因造成的。我还建议您根本不要使用 PDFSETTINGS,因为这会同时更改 许多 配置控件。找出您要使用的那些并单独打开它们。
最后一点,Ghostscript 的 pdfwrite 设备不会“压缩”PDF 文件,它会根据输入生成 PDF 文件。如果您选择对图像进行缩减采样或更改色彩空间等操作,那么新的 PDF 文件可能会比输入的 PDF 文件小。虽然它没有被压缩,但它更小,因为您丢弃了信息。