返回

GhostScript 10.02.01 条形码旋转错误:原因与解决方法

windows

GhostScript 10.02.01 中的条形码旋转问题及其解决方案

简介

GhostScript 10.02.01 在使用命令行将 PostScript 文件转换为 PDF 时,可能会遇到一个问题,导致条形码元素逆时针旋转 180 度。这会导致条形码无法识别,并可能影响文档的整体完整性。本文将探讨导致此问题的根本原因,并提供在 macOS 和 Windows 系统上解决此问题的分步指南。

问题

在使用以下命令行转换 PostScript 文件时,条形码元素会以错误的方向旋转:

gs -dQUIET -o output.pdf -sDEVICE=pdfwrite -r812 -IFONTDIR="path/to/fonts" -f input.ps -c quit

这将导致条形码无法识别,影响文档的准确性和可信度。

根本原因

此问题的根本原因是 GhostScript 10.02.01 在处理 PostScript 文件中的旋转信息时存在错误。当指定 Orientation 选项时,GhostScript 会根据给定的值应用旋转。然而,在此版本中,此选项的处理方式存在缺陷,导致条形码元素以错误的方向旋转。

解决方案

在 macOS 上,可以使用 Rotate 选项来修复此问题:

gs -dQUIET -o output.pdf -sDEVICE=pdfwrite -r812 -IFONTDIR="path/to/fonts" -c "<</Rotate 90>> setpagedevice" -f input.ps -c quit

在 Windows 上,可以使用 Orientation 选项并将其值设置为 1(表示不旋转):

gs -dQUIET -o output.pdf -sDEVICE=pdfwrite -r812 -IFONTDIR="path/to/fonts" -c "<</Orientation 1>> setpagedevice" -f input.ps -c quit

验证解决方案

应用此修复后,条形码元素将正确旋转,与其他 PDF 生成工具(如 Adobe Distiller)生成的 PDF 一致。

常见问题解答

Q1:为什么 GhostScript 会在 10.02.01 版本中出现此问题?
A1: 此问题是由于 GhostScript 在处理旋转信息时的错误造成的。

Q2:此解决方案适用于 GhostScript 的其他版本吗?
A2: 此解决方案仅适用于 GhostScript 10.02.01。其他版本可能需要不同的修复方法。

Q3:在 macOS 和 Windows 系统之间使用此解决方案时有什么区别?
A3: 在 macOS 上,使用 Rotate 选项;而在 Windows 上,使用 Orientation 选项并将其值设置为 1

Q4:此修复会影响 PDF 文件的其他元素吗?
A4: 此修复仅影响条形码元素的旋转。它不会影响 PDF 文件的其他方面。

Q5:我如何验证此修复是否有效?
A5: 转换 PDF 文件后,检查条形码元素是否正确旋转。如果条形码可以被扫描器识别,则修复已成功。

结论

本文介绍了 GhostScript 10.02.01 中条形码旋转问题及其解决方案。通过应用本文提供的步骤,用户可以确保条形码元素在转换为 PDF 时正确旋转。通过解决此问题,用户可以确保 PDF 文件的准确性和可信度。