L_SetPDFOptions

#include "l_bitmap.h"

L_LTFIL_API L_INT L_SetPDFOptions(pOptions)

pFILEPDFOPTIONS pOptions;

/* pointer to a structure */

Sets the file options used by LEADTOOLS when loading PDF, PS or EPS files.

Parameter

Description

pOptions

Pointer to a structure that contains the options to use when loading PDF, PS or EPS files.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

The nSize member of the FILEPDFOPTIONS structure must be set before calling this function. If a PDF, PS or EPS file is loaded without first calling this function, the following default values will be used:

FILEPDFOPTIONS Member:

Default value:

bUseLibFonts

TRUE

nXResolution

96

nYResolution

96

nDisplayDepth

24

nTextAlpha

4

nGraphicsAlpha

1

The values set by this function are valid for the current thread. To change the values used by the current thread, this function must be called again.

Both font and graphics anti-aliasing slow down the drawing of the resulting bitmap.

Font and graphics anti-aliasing can only be used if nDisplayDepth is 8 or greater.

Required DLLs and Libraries

LTFIL
File format DLLs

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

Platforms

Windows 2000 / XP/Vista.

See Also

Functions:

L_GetPDFOptions

Topics:

Raster Image Functions: Loading Files

 

Implementing PDF Plug in Features

For a list of functions that utilize the LOADFILEOPTION or SAVEFILEOPTION structures, refer to Functions Utilizing the LOADFILEOPTION or SAVEFILEOPTION structures.

Example

This example loads a PDF file, with a display depth defined by the user and without using font anti-aliasing

 L_INT SetPDFOptionsExample(L_TCHAR     * pszPDFFileName,
                                           pBITMAPHANDLE pBitmap,
                                           L_INT         nDisplayDepth)
{
   L_INT nRet;
   FILEPDFOPTIONS PdfOptions;

   /* Get the current PDF options */   
   nRet = L_GetPDFOptions(&PdfOptions,sizeof(FILEPDFOPTIONS));
   if(nRet != SUCCESS)
      return nRet;

   /*Change display depth */
   switch(nDisplayDepth)
   {
      /*We only accept 1,4,8 or 24*/
      case 1   :
      case 4   :
      case 8   :
      case 24  :
         PdfOptions.nDisplayDepth = nDisplayDepth;
         break;
      default :
         MessageBox (NULL, TEXT("Invalid Display Depth"), TEXT("Notice"), MB_OK);
         /* current value is used instead of value passed by the user */
   }

   /* No font anti-aliasing*/
   PdfOptions.nTextAlpha = 1;

   /* Set new PDF options */
   nRet = L_SetPDFOptions(&PdfOptions);
   if(nRet != SUCCESS)
      return nRet;

   if(pBitmap->Flags.Allocated)
      L_FreeBitmap(pBitmap);

   /* Now load the PDF file */
   nRet = L_LoadBitmap(pszPDFFileName,
                pBitmap,
                sizeof(BITMAPHANDLE),
                0,
                ORDER_RGB,
                NULL,
                NULL);
   if(nRet != SUCCESS)
      return nRet;
   nRet = L_SaveBitmap(TEXT("%UserProfile%\\My Documents\\LEADTOOLS Images\\Result.BMP"), pBitmap, FILE_BMP, 24, 0, NULL);
   if(nRet != SUCCESS)
      return nRet;
   return SUCCESS;
}