Available in LEADTOOLS Imaging Pro, Vector, Document, and Medical Imaging toolkits. |
Overview:
The LEADTOOLS toolkits support a number of powerful and complex file formats including:
PDF (Portable Document Format), developed by Adobe Corporation, allows users to exchange and view electronic documents independent of their development environment. PDF files look the same on screen and in print regardless of the computer type or software package used to create them. One major advantage of PDF is that large documents can be compressed small enough to download very quickly, yet still display content as if you were looking at the original source such as a book or magazine. LEADTOOLS supports versions 1.2, 1.3, 1.4, 1.5, 1.6, and 1.7 (read/write) of the PDF standard. To save a file as PDF version 1.4, include the ESO2_PDF_V14 flag in SAVEFILEOPTION.Flags2. To save a file as PDF version 1.5, include the ESO2_PDF_V14 flag in SAVEFILEOPTION.Flags2 and so on.
PDF/A LEADTOOLS supports the PDF/A subset of the standard, which contains only those features that are suitable for long-term archiving. To create a PDF/A file, include the ESO2_PDFA_PROFILE flag in SAVEFILEOPTION.Flags2.
PS (Postscript) is a simple interpretive page description language. Its primary application is to describe the appearance of text, graphical shapes, and sampled images on printed or displayed pages. Some of the page description and interactive graphics capabilities of the PostScript language include arbitrary shapes, painting operators, text fully integrated with graphics and sampled images derived from natural sources. Postscript is the language that most advanced laser printers use in order to render electronic information on a printed page.
EPS (Encapsulated PostScript) is a PostScript language program describing the appearance of a single page, usually intended to be embedded inside another PostScript language page description. The EPS file can contain any combination of text, graphics, and images, and it is the same as any other PostScript language page description with a few limitations.
Loading Capabilities.
The LEADTOOLS PDF features have the following import capabilities:
1. |
Loads essentially all PDF 1.3 (Acrobat 4.x compatible) through PDF 1.7 files. |
2. |
Loads all PostScript Language Level 3 files. |
3. |
Loads any EPS file. |
Loading support includes multi-threading support and multi-page support. Multi-page support allows you to specify which page or range of pages to load from a file.
You also get a number of control options in order to customize the rasterized page. These options include:
1. |
Pixel depth. Valid values are 0 (for auto-detect) 1, 4, 8 and 24. The default value is 24. |
2. |
Horizontal and vertical resolution in dots per inch with a default value of 300 by 300. For a typical PDF file having a page size equal to 8.5 by 11 inches, the resulting image will be 2550 by 3300 pixels. If the PDF was loaded at 24 BPP, then the resulting image will require 25,251,600 bytes (25MB) of memory. If this value is too large for your application need or you do not need to load the PDF with fine detail, then change the resolution to a smaller value. For example, 96 by 96 pixels result in an image that is 816 by 1056 pixels and uses 2,585,088 bytes (2.5MB) of memory. |
3. |
Font anti-aliasing. Valid values are 1bit (no anti-aliasing), 2 and 4-bit anti-aliasing. The default value is 1, which gives the sharpest representation of the text in the file. |
6. |
Graphics anti-aliasing. Valid values are 1-bit (no anti-aliasing), 2-bit, and 4-bit anti-aliasing. The default value is 1. |
You can use the LFileSettings::GetPDFOptions function to get the default values for control options that are used when loading a file. You can then use the LFileSettings::SetPDFOptions function to change the values for the control options.
You can also use LFile::GetRasterPdfInfo to get information specific to a PDF file, such as its original bits/pixel, compression, size and resolution
Saving Capabilities.
LEADTOOLS toolkits include full multi-page write support for the PDF format. You can append, insert, replace or delete specific pages in PDF files.
A wide range of control options for the resulting image data in terms of compression is provided, including:
1. |
No compression |
2. |
Compressed using CCITT Group 3, 1 dimension. For 1-bit images. |
3. |
Compressed using CCITT Group 3, 2 dimensions. For 1-bit images. |
4. |
Compressed using CCITT Group 4. For 1-bit images. |
5. |
JPEG compression and YUV 4:4:4 color space loss-less. Bits per pixel: 8 for grayscale, 24 for color. |
6. |
JPEG compression and YUV 4:2:2 color space. Bits per pixel: 8 for grayscale, 24 for color. |
7. |
JPEG compression and YUV 4:1:1 color space. Bits per pixel: 8 for grayscale, 24 for color. |
You also get control over the type of encoding to be used in order to change compressed image data into a text format .Text encoding techniques include:
1. |
No text encoding at all. |
2. |
Use ASCII 85 text encoding algorithm. |
3. |
Use ASCII HEX text encoding technique. |
A number of new flags have been added to the SAVEFILEOPTION structure, in order to specify which type of text encoding to use when saving. For more information, please refer to that structure for more details. In addition, LEAD provides the FILEPDFSAVEOPTIONS structure to let you control the security of and access to the PDF file that is saved. These include user and owner passwords, encryption options, and specifying which capabilities the user of the resulting PDF document will have. To determine the current options used when saving a PDF file, call LFileSettings::GetPDFSaveOptions. To set the options used when saving a PDF file, call LFileSettings::SetPDFSaveOptions.
Distributing An Application
LEADTOOLS provides support for PDF loading and saving through two DLLs: LTPDF?.dll and LTPDFENGINE.dll.
LTPDF?dll is the DLL for PDF support in LEADTOOLS. LTFIL, which contains the LEADTOOLS raster images load and save support, will load this dll dynamically when PDF files are loaded or saved. This is the normal behavior for LEADTOOLS support for any file format.
LTPDFENGINE.dll is the PDF runtime DLL. This DLL is never referenced directly by the LEADTOOLS Raster PDF file filter, instead it is loaded dynamically and out of process by the filter.
By default, the LEADTOOLS installer will copy this DLL next to the filter (in the Bin\CDLL\Win32, Bin\CDLL\x64, Bin\CDLLVC10\Win32 and Bin\CDLLVC10\x64 folders) and the filter will look for the engine DLL in the same folder it is located (default location).
In some cases, you can share the same copy of LTPDFENGINE.dll between different applications. In this case, you can copy LTPDFENGINE.dll to a fixed directory and pass the name of this directory to LFileSettings::SetPDFInitDir. From that point on, LEADTOOLS will use the designated directory value to locate and load LTPDFENGINE.dll.
In addition to these DLLs, LEADTOOLS might require other DLLs when saving PDF files, depending on the compression used. For more information, refer to Files To Be Included With Your Application.
See Also:
File Formats: TIFF CCITT and Other FAX Formats
Compression Using LEAD and JPEG Formats
File Formats: JPEG and LEAD Compressed (JPG, J2K, JP2, JPM, CMP, and CMW)