Back to Blog

    Developer Blog

    How can I add a link annotation to a PDF file with Foxit PDF SDK for iOS?

    Foxit PDF SDK for iOS

    How to add a link annotation to a PDF file with Foxit PDF SDK for iOS?

    To add a link annotation to a PDF file, you should first call the FSPDFPage::addAnnot to add an annotation to a specified page, then call FSAction::Create to create an action, and set the action to the added link annotation. Following is the sample code for adding a URI link annotation to the first page of a PDF file:

    #define DOCUMENT_PATH [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]...// Get the path of a PDFNSString* pdfPath = [[NSBundle mainBundle] pathForResource:@"Sample" ofType:@"pdf"];
        
    // Initialize a PDFDoc object with the path to the PDF file.FSPDFDoc *document = [[FSPDFDoc alloc] initWithPath: pdfPath];
        
    // load the unencrypted document content. [document load:nil];
        
    // Get the first page of the PDF file.FSPDFPage *page = [document getPage:0];
        
    // Add a link annotation to the first page.FSRectF *rect = [[FSRectF alloc] initWithLeft1:250 bottom1:650 right1:450 top1:750];FSLink *linkAnnot = [[FSLink alloc] initWithAnnot:[page addAnnot: FSAnnotLink rect:rect]];
        
    // Create a URI action and set the URI.FSURIAction *uriAction = [[FSURIAction alloc] initWithAction:[FSAction create:document action_type:FSActionTypeURI]];[uriAction setURI:@"https://www.foxit.com"];
        
    // Set the action to link annotation.[linkAnnot setAction:uriAction];
        
    // Reset appearance stream. [linkAnnot resetAppearanceStream];
        
    // Save the document that has added the link annotaiton.[document saveAs:[DOCUMENT_PATH stringByAppendingString:@"Sample_annot.pdf"] save_flags:FSPDFDocSaveFlagNormal];