利用iStylePDF的API實現在PDF文件中動態插入一幅圖片
阿新 • • 發佈:2019-02-06
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 | 未知型別 |
下面開始進入我們的正題,插入一幅圖片,我們可以使用一種PDF的標準型別來操作,使註釋的外觀顯示為我們的圖片,然後還可以在註釋物件中加入一些自己的內容。如果使用者是不想讓一些標準的PDF閱讀器來編輯我們的圖片物件,可以插入一種非標準的註釋型別,也就是未知型別,Adobe就無法編輯拖動了。
iStylePDF在註釋物件中有很多屬性可以設定,以達到我們想要的效果。先截圖看看我們的效果。
下面我來解釋下指令碼程式碼的含義。
在當前活動文件的第一頁建立一個圖章型別的註釋,得到一個註釋物件,然後就可以設定物件的各種屬性。
var stamp = iStylePDF.Documents.ActiveDocument.Pages.Item(0).Annots.Add(12);
BlendMode是渲染模式。它在色彩空間中的定義如下:
其他API的說明可以參考開發者中心。