1. TeX Live 2021
任意の pdf(ここでは、texmf-dist/doc/amstex/amstinst.pdf を使ってみますが pdf の選択にはよらないと思います)を、書き込み権限のある適当なディレクトリにコピーして、pdf2dsc を実行すると次のようなエラーになります。指定した dsc ファイル(この例では xyz.dsc)は作られません。
C:\Users\景太\Documents\test-tex>pdf2dsc amstinst.pdf xyz.dsc
Error: /invalidfileaccess in --file--
Operand stack:
PDFfile (amstinst.pdf) (r)
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 2022 1 3 %oparray_pop 2021 1 3 %oparray_pop 2009 1 3 %oparray_pop 1865 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval--
Dictionary stack:
--dict:757/1123(ro)(G)-- --dict:0/20(G)-- --dict:77/200(L)--
Current allocation mode is local
Last OS error: Permission denied
Current file position is 1814
GPL Ghostscript 9.53.3: Unrecoverable error, exit code 1
path と rungs -h の出力です。
C:\Users\景太\Documents\test-tex>path
PATH=C:\texlive\2021\bin\win32;C:\texlive\2020\bin\win32;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Users\景太\AppData\Local\Microsoft\WindowsApps;C:\Users\景太\AppData\Local\GitHubDesktop\bin;C:\Users\景太\AppData\Local\Microsoft\WindowsApps;c:\NTEmacs\bin;
C:\Users\景太\Documents\test-tex>rungs -h
GPL Ghostscript 9.53.3 (2020-10-01)
Copyright (C) 2020 Artifex Software, Inc. All rights reserved.
Usage: gs [switches] [file1.ps file2.ps ...]
Most frequently used switches: (you can use # in place of =)
-dNOPAUSE no pause after page | -q `quiet', fewer messages
-g<width>x<height> page size in pixels | -r<res> pixels/inch resolution
-sDEVICE=<devname> select device | -dBATCH exit after last file
-sOutputFile=<file> select output file: - for stdout, |command for pipe,
embed %d or %ld for page #
Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PostScriptLevel3 PDF
Default output device: display
Available devices:
bbox bit bitcmyk bitrgb bitrgbtags bj10e bj200 bjc600 bjc800 bmp16 bmp16m
bmp256 bmp32b bmpgray bmpmono bmpsep1 bmpsep8 cdeskjet cdj550 cdjcolor
cdjmono chameleon declj250 deskjet devicen display djet500 djet500c
eps2write eps9high eps9mid epson epsonc fpng ibmpro ijs ink_cov inkcov
jetp3852 jpeg jpegcmyk jpeggray laserjet lbp8 lj250 ljet2p ljet3 ljet3d
ljet4 ljet4d ljetplus m8510 mswinpr2 necp6 nullpage pam pamcmyk32
pamcmyk4 pbm pbmraw pclm pcx16 pcx24b pcx256 pcxcmyk pcxgray pcxmono
pdfimage24 pdfimage32 pdfimage8 pdfwrite pgm pgmraw pgnm pgnmraw pj pjxl
pjxl300 pkmraw plan planc plang plank planm planr plib plibc plibg plibk
plibm png16 png16m png256 pngalpha pnggray pngmono pngmonod pnm pnmcmyk
pnmraw ppm ppmraw ps2write psdcmyk psdcmyk16 psdcmykog psdrgb psdrgb16
pxlcolor pxlmono r4081 spotcmyk st800 stcolor 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:/texlive/2021/tlpkg/tlgs/lib ; C:/texlive/2021/tlpkg/tlgs/fonts ;
C:/texlive/2021/tlpkg/tlgs/Resource/Init ;
C:/texlive/2021/tlpkg/tlgs/Resource ; C:/texlive/2021/tlpkg/tlgs/kanji ;
C:\WINDOWS/Fonts ; C:/texlive/2021/texmf-dist/fonts ; C:/Windows/Fonts ;
C:/WINDOWS/Fonts ; C:/windows/Fonts
For more information, see C:/gs/gs9.53.3/doc/Use.htm.
Please report bugs to bugs.ghostscript.com.
私以外にも「エラーになる」という報告があるので、私の個人的な環境に起因する問題ではないと思います。
2. ghostscript.com 公式
Ghostscript そのものの問題ではない感じです。https://www.ghostscript.com/download/gsdnld.html から AGPL ライセンス windows 64bit 版をダウンロード・インストールし、path を c:\program files\gs\gs9.54.0\bin と c:\program files\gs\gs9.54.0\lib が先頭に来るように調節して試すと問題ありません。上記の例を実行すると何の文句もなく実行され、xyz.dsc が作られます。
3. TeX Live 2020
TeX Live 2020 同梱版でも問題はありません。再び path を調節し、C:\texlive\2020\bin\win32 が先頭に来る状態で試すとやはり正常に終了します。
4. TeX Live 2021 更新版
tlmgr で tlgs.win32 を現時点の最新版に更新してみましたが、ghostscript のバージョンが 9.54.0 に上がっただけで、エラーは解消しませんでした。