Back to Blog

    Developer Blog

    How do I insert an image into a PDF file?

    Foxit PDF SDK for iOS

    There are two ways to help you insert an image into a PDF file. The first one is calling FSPDFPage::addImageFromFilePath interface. You can refer to the following sample code which inserts an image into the first page of a PDF file:

    Note: Before calling FSPDFPage::addImageFromFilePath interface, you should get and parse the page that you want to add the image.

    #define DOCUMENT_PATH [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]
    ...
    // Get the path of a PDF.
    NSString* 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];
        
    // Parse the page.
    if (![page isParsed]) {
        FSProgressive* progressive = [page startParse: FSPDFPageParsePageNormal pause:nil is_reparse:NO];
        while ([progressive resume] == FSProgressiveToBeContinued) {
            continue;
        }
    }
        
    // Get the image path.
    NSString* imagePath = @"/Users/xiaole/Desktop/1.png";
        
    // Add an image to the first page.
    FSPointF* point = [[FSPointF alloc] init];
    [point set:100 y:300];
    [page addImageFromFilePath:imagePath position:point width:100 height:120 auto_generate_content:YES];
        
    // Save the document that has added the link annotaiton.
    [document saveAs:[DOCUMENT_PATH stringByAppendingString:@"Sample_image.pdf"] save_flags:FSPDFDocSaveFlagNormal];