L_SetPDFOptions (original) (raw)
Summary
Sets the file options used by LEADTOOLS when loading PDF, PS or EPS files.
Syntax
#include "l_bitmap.h"
L_LTFIL_API L_INT L_SetPDFOptions(pOptions)
Parameters
pFILEPDFOPTIONS pOptions
Pointer to a structure that contains the options to use when loading PDF, PS or EPS files.
Returns
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
Comments
The FILEPDFOPTIONS.uStructSize member 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 |
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
Win32, x64, Linux.
See Also
Functions
Topics
- Raster Image Functions: Loading Files
- Implementing PDF Features
- For a list of functions that utilize the LOADFILEOPTION or SAVEFILEOPTION structures, refer to the Usage section of their documentation.
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(MAKE_IMAGE_PATH(TEXT("Result.BMP")), pBitmap, FILE_BMP, 24, 0, NULL);
if(nRet != SUCCESS)
return nRet;
return SUCCESS;
}