PDF的交互特性里面有一种叫Annotation的注释和标记对象,我们可以在一个注释对象中放入自己想要的数据。在这篇文章中所讲到的插入一幅图片,是我们在PDF应用中经常需要这样做的,比如个人签名的图片等。
首先我们来认识下PDF里面中的Annotations是何东东。一个annotation关联了一些注释、声音、电影等对象,PDF标准中预定义了一些常用的注释类型。在我们的帮助文档中有详细的说明,等下也会用到的,我列举出来了,如下所示
名称 |
数值 |
描述 |
spAnnotText |
0 |
文本 |
spAnnotLink |
1 |
链接 |
spAnnotFreeText |
2 |
*文本 |
spAnnotLine |
3 |
线 |
spAnnotSquare |
4 |
矩形 |
spAnnotCircle |
5 |
圆形 |
spAnnotPolygon |
6 |
多边形 |
spAnnotPolyLine |
7 |
折线 |
spAnnotHighLight |
8 |
高亮 |
spAnnotUnderLine |
9 |
下划线 |
spAnnotSquiggly |
10 |
曲线 |
spAnnotStrikeOut |
11 |
删除线 |
spAnnotStamp |
12 |
图章 |
spAnnotCaret |
13 |
插入符号 |
spAnnotInk |
14 |
墨迹涂抹 |
spAnnotPopup |
15 |
弹出窗口 |
spAnnotFileAttachment |
16 |
文件附件 |
spAnnotSound |
17 |
声音 |
spAnnotMovie |
18 |
电影 |
spAnnotWidget |
19 |
构件 |
spAnnotScreen |
20 |
屏幕 |
spAnnotPrinterMark |
21 |
图形符号 |
spAnnotTrapNet |
22 |
网络陷阱 |
spAnnotWatermark |
23 |
水印 |
spAnnot3D |
24 |
3D图 |
spAnnotUnknown |
25 |
未知类型 |
每一种类型都有自己对应的一些外观属性,方便和用户进行交互使用。更多的知识可以参考下Adobe公司发布的PDF参考手册。不知道到哪里去找,可以进入google.com,输入PDFReference 1.7就能找到。
下面开始进入我们的正题,插入一幅图片,我们可以使用一种PDF的标准类型来操作,使注释的外观显示为我们的图片,然后还可以在注释对象中加入一些自己的内容。如果用户是不想让一些标准的PDF阅读器来编辑我们的图片对象,可以插入一种非标准的注释类型,也就是未知类型,Adobe就无法编辑拖动了。
iStylePDF在注释对象中有很多属性可以设置,以达到我们想要的效果。先截图看看我们的效果。
面我来解释下脚本代码的含义。
在当前活动文档的第一页创建一个图章类型的注释,得到一个注释对象,然后就可以设置对象的各种属性。
var stamp =iStylePDF.Documents.ActiveDocument.Pages.Item(0).Annots.Add(12);
BlendMode是渲染模式。它在色彩空间中的定义如下:
其他API的说明可以参考开发者中心(http://developer.istylepdf.com/dev/help/index.html).