1. 程式人生 > >利用iStylePDF的API實現在PDF文件中動態插入一幅圖片

利用iStylePDF的API實現在PDF文件中動態插入一幅圖片

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,輸入PDF Reference 1.7就能找到。

下面開始進入我們的正題,插入一幅圖片,我們可以使用一種PDF的標準型別來操作,使註釋的外觀顯示為我們的圖片,然後還可以在註釋物件中加入一些自己的內容。如果使用者是不想讓一些標準的PDF閱讀器來編輯我們的圖片物件,可以插入一種非標準的註釋型別,也就是未知型別,Adobe就無法編輯拖動了。

iStylePDF在註釋物件中有很多屬性可以設定,以達到我們想要的效果。先截圖看看我們的效果。


下面我來解釋下指令碼程式碼的含義。

在當前活動文件的第一頁建立一個圖章型別的註釋,得到一個註釋物件,然後就可以設定物件的各種屬性。

var stamp = iStylePDF.Documents.ActiveDocument.Pages.Item(0).Annots.Add(12);

BlendMode是渲染模式。它在色彩空間中的定義如下:


其他API的說明可以參考開發者中心