我有以下包含pdfmark的PostScript文件来创建高亮注释:
%PS
/Courier 30 selectfont
15 15 moveto
(Test)show
[ /Rect [0 0 80 30]
/Subtype /Highlight
/Color [.8 .8 0]
/QuadPoints [10 40 90 40 10 10 90 10]
/Contents (Test annotation)
/ANN pdfmark
showpage
(请注意,/QuadPoints
字段的坐标不在the order the specs define,Adobe implements it differently。)
Ghostscript创建一个带有注释的PDF,但有两个问题:
更重要的是:突出显示的区域不是矩形,而是左右边缘,如下面的屏幕截图所示:
为什么会这样,我怎样才能得到直边?
答案 0 :(得分:2)
您应该首先查看PDF文件的内容,然后查看Ghostscript(或更准确地说是pdfwrite设备)放在那里的内容。发布示例PDF文件也是一个明智的举动,并且还会告诉我们您正在使用哪个版本的Ghostscript。
BT,那个标题应该是%!PS,你错过了'!'。当然,因为它的注释与PostScript解释器无关。现在,这是使用您问题中的代码从Adobe Acrobat Distiller获取注释的输出:
1 0 obj
<</Type/Annot/Subtype/Highlight/Rect[0 0 80 30]/C[.8 .8 0]/QuadPoints[10 40 90 40 10 10 90 10]/Contents(Test annotation)>>
endobj
这与Ghostscript的pdfwrite设备相同:
8 0 obj
<</Type/Annot
/Rect [0 0 80 30]
/C [0.8 0.8 0]
/QuadPoints [10 40 90 40 10 10 90 10]
/Contents(Test annotation)
/Subtype/Highlight>>endobj
这些基本相同。
所以回答你的问题:
如果它在Acrobat中有效,那么也许你应该向Evince开发人员询问这个问题。
圆形边缘由应用程序绘制,该应用程序读取PDF注释。由于Acrobat以这种方式绘制它们,所以其他人都这样做(包括Ghostscript的PDF解释器)。如果您不喜欢它,则必须更改查看应用程序。