【问题标题】:Error in Converting PDF to PostScript with GhostScript, Access is denied Unable to open command line file _.at使用 GhostScript 将 PDF 转换为 PostScript 时出错,访问被拒绝 无法打开命令行文件 _.at
【发布时间】:2010-12-15 05:34:12
【问题描述】:

我安装了ghostscript 并更新了相应的path variables ...但是,当我尝试执行此命令时出现错误:

C:\PROGRA~1\gs\gs8.64\lib>pdf2ps mydocument.pdf mydocument.ps
Access is denied.
Unable to open command line file _.at

这是正确的命令吗?我错过了一些配置或路径设置吗?否则,是否有一种健全的方法来进行这种转换?

【问题讨论】:

    标签: pdf ghostscript postscript file-conversion


    【解决方案1】:

    拒绝访问建议与访问路径等有关。我建议重新检查文件夹权限(尽管我确定您已经这样做了)。此外,您可能想尝试运行 gswin32c.exe 而不是 pdf2ps 以查看是否仍然出现错误,您可能会得到更具体的信息。

    gswin32c.exe ^
      -dNOPAUSE ^ 
      -dBATCH ^
      -sDEVICE=pswrite ^
      -sOutputFile=mydocument.ps ^
       mydocument.pdf
    

    【讨论】:

      【解决方案2】:

      使用pdf2ps 运行一个批处理文件,真正命名为pdf2ps.batpdf2ps.cmd。您可以轻松查找并理解其“源代码”。如果你这样做了,你会看到它尝试将它的一些命令行选项写入一个名为_.at 的临时文件,以克服某些 Win/DOS 平台上存在的 DOS/cmd 命令行长度的 128 个字符限制。

      由于您是从安装 Ghostscript 的 %programs% 目录调用 pdf2ps,因此您似乎没有使用允许在其中写入内容的帐户。 :-)

      【讨论】:

        【解决方案3】:

        如果要使用 gs 可执行文件,则必须更改权限。在命令提示符下,转到 gs 可执行文件所在的位置,然后使用 chmod 755 gs。

        【讨论】:

          【解决方案4】:

          使用 gimp 打开 PDF 文件。

          文件 -> 导出 -> 后记。

          【讨论】:

          • 这需要是一个自动化的过程
          【解决方案5】:

          使用 Ghostscript 版本 gs9.10 方法 pswrite 对我不起作用,相反我尝试使用 ps2write 代替,它适用于我,所以对我有用的命令如下:

          gswin32c.exe ^
            -dNOPAUSE ^ 
            -dBATCH ^
            -sDEVICE=ps2write ^
            -sOutputFile=mydocument.ps ^
             mydocument.pdf
          

          如果这件事甚至不起作用,那么可以这样做: 尝试通过键入gswin32c.exe -h 获取帮助,然后它将列出所有可用的设备,如下所示:

          Default output device: display
          Available devices:
             bbox bit bitcmyk bitrgb bj10e bj200 bjc600 bjc800 bmp16 bmp16m bmp256
             bmp32b bmpgray bmpmono bmpsep1 bmpsep8 cdeskjet cdj550 cdjcolor cdjmono
             cp50 declj250 deskjet devicen display djet500 djet500c eps9high eps9mid
             epson epsonc epswrite ibmpro ijs inkcov jetp3852 jpeg jpegcmyk jpeggray
             laserjet lbp8 lj250 ljet2p ljet3 ljet3d ljet4 ljet4d ljetplus m8510
             mswindll mswinpr2 necp6 nullpage pamcmyk32 pamcmyk4 pbm pbmraw pcx16
             pcx24b pcx256 pcxcmyk pcxgray pcxmono pdfwrite pgm pgmraw pgnm pgnmraw pj
             pjxl pjxl300 pkmraw plan planc plang plank planm plib plibc plibg plibk
             plibm png16 png16m png256 pngalpha pnggray pngmono pngmonod pnm pnmcmyk
             pnmraw ppm ppmraw **ps2write** psdcmyk psdrgb pxlcolor pxlmono r4081 spotcmyk
             st800 stcolor svg t4693d2 t4693d4 t4693d8 tek4696 tiff12nc tiff24nc
             tiff32nc tiff48nc tiff64nc tiffcrle tiffg3 tiffg32d tiffg4 tiffgray
             tifflzw tiffpack tiffscaled tiffscaled24 tiffscaled32 tiffscaled4
             tiffscaled8 tiffsep tiffsep1 txtwrite uniprint xpswrite
              Search path:
                 C:\Program Files (x86)\gs\gs9.10\bin ;
                 C:\Program Files (x86)\gs\gs9.10\lib ;
                 C:\Program Files (x86)\gs\gs9.10\fonts ; %rom%Resource/Init/ ;
                 %rom%lib/ ; c:/gs/gs9.10/Resource/Init ; c:/gs/gs9.10/lib ;
                 c:/gs/gs9.10/Resource/Font ; c:/gs/fonts
              Initialization files are compiled into the executable.
          

          正如大家看到的那样,只是为了方便,我在 ps2write

          周围放置了星号(*)

          【讨论】:

            【解决方案6】:

            你正在做的是你没有在正确的地方写命令行首先你必须找出ghostscript的灌输exe,它默认位于

            • c:\Program Files(x86)\gs\gs9.20(你的ghostscript 版本)\bin\gswin32c.exe

            有两个exe

            • 1-gswin32.exe
            • 2- gswin32c.exe

            你必须使用第二个,因为它在 cmd 而不是在 gs cmd 中执行命令 好的,现在您要做的就是编写类似

            的命令
             ...bin\gswin32c.exe -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=mydocument.ps   mydocument.pdf
            

            注意请正确检查文件路径和一件事 文件路径如 "D:\htmltopdf\document.ps" 应该写成 “D:/htmltopdf/document.ps” 是的,仅在文件路径中用前言斜杠完全替换反斜杠 而且命令行也区分大小写,所以要小心大小写

            【讨论】:

              猜你喜欢
              • 2017-04-07
              • 2017-04-28
              • 1970-01-01
              • 2012-07-17
              • 1970-01-01
              • 2013-11-23
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多