March 2015

Merge content from multiple pages into one page

by Conor | March 31, 2015
Sometimes it’s necessary to customize the content of a document on the fly from templates. There’s various different ways this can be done, but one way is to have a template with different content on each page of a document and then based on certain criteria (i.e. content from page 1, 5, 8 is required […]
Keep reading Keep reading

Programmatically determine the content area of a page in a PDF

by Conor | March 31, 2015
It’s easy to determine the size of a page by using the PageHeight and PageWidth, but it’s a little more difficult to determine the rectangular content area of a page. There are functions in the library for returning the text coordinates such as GetPageText and there’s functions for determining the coordinates of images, but there’s […]
Keep reading Keep reading

Issue with Ricoh printers where PDFs come out in black and white instead of color

by Conor | March 29, 2015
Foxit Quick PDF Library uses the standard Windows DEVMODE structure for printing which is used by many other programs as well. Unfortunately the printer driver manufacturers don’t use the values specified in the DEVMODE structure and instead use custom undocumented values. This means that the SetupCustomPrinter function works for many drivers but not every driver. […]
Keep reading Keep reading

Extract text from a defined rectangular area on a page

by Conor | March 29, 2015
Foxit Quick PDF Library includes a range of functionality for extracting text from PDF files, but usually it’s for extract text from an entire page. The extract functions which include “area” in the name let you specify a rectangular area from which you wish to extract text. The key functions for this using regular memory […]
Keep reading Keep reading

Programmatically impose multiple pages on one page (imposition)

by Conor | March 27, 2015
There is not a single “imposition” function in Foxit Quick PDF Library but it’s easy to use the CapturePage and DrawCapturedPage functions to do the imposition. There is some sample code below that demonstrates how to take a few different PDFs, merge them together, and then impose each page onto one page in a new document. […]
Keep reading Keep reading

Is printing PostScript to PDF supported?

by Conor | March 25, 2015
No, the Postscript functions in Foxit Quick PDF Library such as DrawPostScriptXObject will only embed existing postscript commands into a PDF. This is mainly done for printers. Most, if not all PDF viewers do not contain any Postscript rendering functionality so you page may be technically correct but there is not viewer that can render […]
Keep reading Keep reading

Get embedded image coordinates from PDF files

by Conor | March 25, 2015
Foxit Quick PDF Library lets you analyze, extract and replace embedded images in PDF files using the extensive image handling functions. The GetPageImageList function returns an ImageListID which you can use in the GetImageListItemDblProperty function. With this function you can get the coordinates for each image in the image list. The GetImageListItemIntProperty function useful for […]
Keep reading Keep reading

Create links to dial a phone from a PDF link on mobile devices

by Conor | March 25, 2015
In a recent post titled Dial a Phone from a PDF Link on Mobile Devices on the Acrobat For Legal Professionals blog, it was demonstrated how you can create a web link in a PDF that when clicked on an mobile device would dial the phone number. Well it is easy to add these links programmatically […]
Keep reading Keep reading

Programmatically convert EMF to PDF

by Conor | March 17, 2015
The ImportEMFFromFile function is designed specifically for importing EMF and WMF file formats. Delphi sample code provided below demonstrates how to use this function. procedure TForm2.btnImportEMFFromFileClick(Sender: TObject); var FileName: string; ImageID: Integer; ImWidth: Integer; ImHeight: Integer; begin PDFLibrary := TDebenuPDFLibrary1113.Create; try UnlockResult := PDFLibrary.UnlockKey('INSERT LICENSE KEY'); if UnlockResult = 1 then begin FileName := 'C:\Sample.EMF' […]
Keep reading Keep reading
Used everywhere

Trusted by