ImageGear Professional DLL v17.1 for Windows Accusoft
IG_REC_PDF_page_populate
Send Feedback  
ImageGear Professional DLL v17.1 for Windows > API Reference Guide > Recognition Component API Reference > Recognition Component Functions Reference > PDF Output Functions > IG_REC_PDF_page_populate

Glossary Item Box

Populates an existing PDF page in a PDF document with recognized text and/or image.

Declaration:

  Copy Code
AT_ERRCOUNT ACCUAPI IG_REC_PDF_page_populate(
   HIG_REC_IMAGE hImage,
   HMIGEAR hPDFDoc,
   HIG_PDF_PAGE hPDFPage,
   LPAT_REC_PDF_PAGE_OPTIONS lpOptions
);

Arguments:

hImage Handle of the recognition image.
hPDFDoc PDF document containing the page to populate.
hPDFPage PDF page to populate.
lpOptions Page options. Pass NULL for lpOptions to use default options, which creates a PDF page containing the recognized image along with hidden text elements suitable for searching, highlighting, selection, copying and pasting, etc.

Return Value:

Returns the number of ImageGear errors that occurred during this function call.

Supported Raster Image Formats:

See IG_REC_image_import.

Remarks:

The content of the existing PDF page is preserved and supplemented.

Example:

  Copy Code
AT_ERRCOUNT ErrCount = 0;
HIGEAR higImage = 0;
HIG_REC_IMAGE higRecImage = 0;
HMIGEAR hMPDoc = 0;
HIG_PDF_PAGE hPDFPage = 0;
AT_INT nPageCount = 0;
AT_REC_PDF_PAGE_OPTIONS Options;
AT_INT iPage = 0;
AT_DIB Dib;
AT_MODE pageComp;

memset(&Options, 0, sizeof(Options));
Options.VisibleImage = TRUE;

ErrCount += IG_PDF_initialize(NULL);
ErrCount += IG_mpi_create(&hMPDoc, 0);

ErrCount += IG_mpi_file_open("Test.pdf", hMPDoc,
        IG_FORMAT_PDF, IG_MP_OPENMODE_READWRITE);
ErrCount += IG_mpf_page_count_get(hMPDoc, &nPageCount);

ErrCount = IG_REC_primary_reduction_mode_set(IG_REC_IMG_CONVERSION_AUTO);

for (iPage=1; (iPage<=nPageCount) && (ErrCount == 0); iPage++)
{
    if(IG_image_is_valid(higImage))
        IG_image_delete(higImage);
    ErrCount += IG_mpf_page_get(hMPDoc, iPage-1, &higImage);

    if (higRecImage != NULL)
    {
        IG_REC_image_delete(higRecImage);
        higRecImage = NULL;
    }
    ErrCount += IG_REC_image_import(higImage, &higRecImage);
    ErrCount += IG_REC_image_recognize(higRecImage);
    ErrCount += IG_vector_data_get(higImage, (LPVOID*) &hPDFPage);

    ErrCount += IG_REC_PDF_page_populate(higRecImage, hMPDoc, hPDFPage, &Options);

    if(!ErrCount)
    {
        ErrCount += IG_mpf_page_info_get(hMPDoc, iPage-1, &pageComp, &Dib);
        ErrCount += IG_mpf_page_save(hMPDoc, iPage-1, 1, pageComp, IG_MPF_SAVE_REPLACE);
    }
}

ErrCount += IG_mpi_delete(hMPDoc);
ErrCount += IG_REC_image_delete(higRecImage);
ErrCount += IG_image_delete(higImage);
ErrCount += IG_PDF_terminate();

See Also

HIG_REC_IMAGE

©2012. Accusoft Corporation. All Rights Reserved.