Back to Blog

    Developer Blog

    How to Add Annotations with Foxit PDF SDK for Web

    Foxit PDF SDK for Web

    Add an annotation on a given page

     

    Programmatically add an annotation

     

    var pdfviewer = await pdfui.getPDFViewer();var pdfdoc = await pdfviewer.getCurrentPDFDoc();var page = await pdfdoc.getPageByIndex(0);var json = {type:’square’,rect:{left:98,right:200,top:500,bottom:450},contents:’this is a rectangle’,color: 0x008080,borderInfo:{width:15}};await page.addAnnot(json)

    comment tab image size box foxit pdf sdk

    Add a group annotation on a given page

    UI

    Programmatically add group annotations

    NO

    var pdfviewer = await pdfui.getPDFViewer();var pdfdoc = await pdfviewer.getCurrentPDFDoc();var page = await pdfdoc.getPageByIndex(0);var jsonGroup = [{type:’square’,rect:{left:98,right:200,top:500,bottom:450},color:0xFF0000,borderInfo:{width:15}, contents:’I am rectangle’},{type:’circle’,rect:{left:467.196991,right:539.197021,top:509.494995,bottom:497.506989},color:0x00FF00,borderInfo:{width:2},contents:’Do I look like a circle’}];await page.addAnnotGroup(jsonGroup,1)
    //This example will create a group annotation of Textbox, Strikeout and Typewriter on the page 5.
    // The parameter 0 means to set the Textbox as the primary comment after group comments are created.

    foxit pdf sdk web tool image size box circle

    Setting your own custom icon image for attachment annotation

    UI

    API

    No

    var pdfviewer = await pdfui.getPDFViewer();var pdfdoc = await pdfviewer.getCurrentPDFDoc();var page = await pdfdoc.getPageByIndex(0);var json = {type:’fileattachment’,rect:{left:100,right:200,top:250,bottom:100},icon:’Paperclip’};// var filePath = ‘http://10.103.4.154:9898/_testfile/image/MyImage.jpg‘;// const resp = await fetch(filePath);// const arrayBuffer = await resp.arrayBuffer();// const buffer = new Uint8Array(arrayBuffer);// json.buffer = buffer;await page.addAnnot(json)

    clip icon attachment attach foxit pdf sdk

    Insert an attachment

    UI

    Insert by API

    No

    var pdfviewer = await pdfui.getPDFViewer();var pdfdoc = await pdfviewer.getCurrentPDFDoc();var page = await pdfdoc.getPageByIndex(0);var json = {type:’fileattachment’,rect:{left:100,right:200,top:250,bottom:100},icon:’Paperclip’};var filePath = ‘http://10.103.4.154:9898/_testfile/image/MyImage.jpg‘;const resp = await fetch(filePath);const arrayBuffer = await resp.arrayBuffer();const buffer = new Uint8Array(arrayBuffer);json.buffer = buffer;await page.addAnnot(json)

    comment tab attachment options foxit pdf sdk

    Add a stamp on a normal page

     

    7.1.1

     

    var pdfviewer = await pdfui.getPDFViewer();
    var pdfdoc = await pdfviewer.getCurrentPDFDoc();
    var page = await pdfdoc.getPageByIndex(0);
    var json = {type:’stamp’,rect:{left:0,right:400,top:250,bottom:0},icon:’customStampName1′,iconCatagory:’catagory’};
    var iconJson = {annotType: “stamp”,
    catagory: “catagory”,
    name: “customStampName1”,
    fileType: “bmp”,
    url: ‘http://10.103.4.154:9898/_testfile/image/3848c0425f2a058993a96c2e7c6c9af6.jpg’};
    await pdfviewer.addIcon(iconJson);
    await page.addAnnot(json)

     

     

    create custom stamp file settings foxit pdf sdk

    var pdfviewer = await pdfui.getPDFViewer();
    var pdfdoc = await pdfviewer.getCurrentPDFDoc();
    var page = await pdfdoc.getPageByIndex(1);
    var json = {type:’stamp’,rect:{left:0,right:400,top:250,bottom:0},iconInfo:{annotType: “stamp”,
    catagory: “catagory“,
    name: “customStampName1″,
    fileType: “bmp”,
    url: ‘http://10.103.4.154:9898/_testfile/image/3848c0425f2a058993a96c2e7c6c9af6.jpg’}};
    await page.addAnnot(json)

    Add stamp on a cropped page

     

     

     

    var pdfviewer = await pdfui.getPDFViewer();
    var pdfdoc = await pdfviewer.getCurrentPDFDoc();
    var page = await pdfdoc.getPageByIndex(0); //get the target page// get the page matrix, and transform the rect to a normal page
    let m = page.getPDFMatrix();
    m.setReverse(m)
    rect = m.transformRect(0,130,230,0)
    console.log(rect)(4) [8.50394058227539, 0, 238.5039405822754, 130]
    0: 8.50394058227539
    1: 0
    2: 238.5039405822754
    3: 130
    length: 4
    __proto__: Array(0)、//add the stampvar json = {type:’stamp’,rect:{left:0,right:130,top:230,bottom:0},icon:’customStampName1′,iconCatagory:’catagory’};
    var iconJson = {annotType: “stamp”,
    catagory: “catagory”,
    name: “customStampName1”,
    fileType: “bmp”,
    url: ‘http://10.103.4.154:9898/_testfile/image/3848c0425f2a058993a96c2e7c6c9af6.jpg’};
    await pdfviewer.addIcon(iconJson);
    await page.addAnnot(json)