我正在尝试从 latex 生成的 ps 文档生成 pdf。(注意:由于 pstricks,我无法使用 pdflatex。)
在 tex 文件中我加载
\usepackage[dvips,
a4paper,
bookmarksopen=true,
bookmarksnumbered=true,
pdfborder=0 0 0]{hyperref}
运行 latex 后,我生成 ps 文件dvips -Ppdf -GO input.dvi
,我的 gs 命令是:
gs -dPDFX -dBATCH -dNOPAUSE -dPDFSETTINGS=/screen -sDEVICE=pdfwrite \
-sPAPERSIZE=a4 -sOutputFile=output.pdf input.ps
运行该命令后output.pdf
包含前三页。错误输出为:
GPL Ghostscript 9.01 (2011-02-07)
Copyright (C) 2010 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Error: /rangecheck in --pdfmark--
Operand stack:
--nostringval-- Subtype Link Dest chapter.1 H I Border --nostringval-- Color --nostringval-- Rect --nostringval-- ANN
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1910 1 3 %oparray_pop 1909 1 3 %oparray_pop 1893 1 3 %oparray_pop 1787 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- 1917 14 5 %oparray_pop --nostringval--
Dictionary stack:
--dict:1160/1684(ro)(G)-- --dict:0/20(G)-- --dict:87/200(L)-- --dict:196/300(L)-- --dict:36/200(L)--
Current allocation mode is local
Last OS error: 2
Current file position is 758023
GPL Ghostscript 9.01: Unrecoverable error, exit code 1
GPL Ghostscript 9.01: ERROR: A pdfmark destination page 4 points beyond the last page 3.
有人知道这个错误并能帮助我吗?
编辑:
我发现它总是在第一个\footnote{}
或之前的页面中断\tableofcontents
。因此,生成的 PDF 包含这些对象第一次出现之前的所有页面,并将所有章节的链接作为 pdfmarks 显示在侧边栏中。所以我猜是这些文档内的链接导致了错误。有什么想法吗?
答案1
该作业包含一个 pdfmark,它试图在文件末尾之外建立链接或书签(即,它引用最后一页之外的页面)。
我相信这在最新版本的 Ghostscript (9.02) 中不再会产生错误,但如果没有看到您的文件,就无法检查。版本 9.04 将在几天内发布,您可能想等待并尝试一下。
答案2
hypertexnames=false
该问题似乎可以通过在调用中添加选项来解决hyperref
。
来自http://www.pa.op.dlr.de/~PatrickJoeckel/pdflatex/index.html
谢谢大家的提示!
答案3
我通过删除输出 *.ps 文件然后重新运行 LaTeX 解决了这个问题。
虽然不能解决问题的根源,但可以非常快速轻松地解决...:)