当我使用命令dvipdf dummy.dvi
将其从 dvi 转换为 pdf 时,某些页面“x”出现此错误。有人能帮我解决这个问题吗?
答案1
错误消息由dvips
(文件scanpage.c
)生成:
endofpage:
if (fontmem > pagecost)
return(1);
if (pagecount > 0) {
return(0);
} /* IBM: color */
#ifdef SHORTINT
fprintf(stderr, "Page %ld may be too complex to print\n", pagenum);
#else /* ~SHORTINT */
fprintf(stderr, "Page %d may be too complex to print\n", pagenum);
#endif /* ~SHORTINT */
/*
* This case should be rare indeed. Even with only 200K of virtual memory,
* at 11 bytes per char, you can have 18K characters on a page.
*/
return(2);
您可以尝试增加内存。它在文件(TDS:dvips/config/config.ps)dvips
中配置:config.ps
% /Times-Roman findfont 30 scalefont setfont 144 432 moveto
% vmstatus exch sub 40 string cvs show pop showpage
% to determine this number. (It will be the only thing printed.)
m 3500000
来自dvips 文档:
`m 数量'
将 num 声明为打印机中可用于字体和字符串的内存。默认值为 180000。如果要使内存节约和文档拆分正常工作,此值必须准确。要确定此值,请将以下文件发送到打印机:
%! Hey, we're PostScript /Times-Roman findfont 30 scalefont setfont 144 432 moveto vmstatus exch sub 40 string cvs show pop showpage
此文件打印的数字是总可用内存;通常最好告诉 Dvips 打印机的内存略少,因为许多程序会下载永久宏,从而减少打印机的内存。某些系统或打印机可以动态增加 PostScript 解释器可用的内存,在这种情况下,此文件可能会返回一个非常低的数字;例如,NeXT 计算机和 Ghostscript。在这些情况下,一百万的值就可以了。