Get embedded image coordinates from PDF files

Debenu 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 […]

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

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 […]

Programmatically convert EMF to PDF

The ImportEMFFromFile function is designed specifically for importing EMF and WMF file formats. Delphi sample code provided below demonstrates how to use this function. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 procedure TForm2.btnImportEMFFromFileClick(Sender: TObject); var FileName: string; […]

Is Debenu Quick PDF Library thread-safe?

Usually when the phrase “thread safe” is used it means that the same instance of the library can be accessed by different threads at the same time. This means that Debenu Quick PDF Library is not thread safe because a single instance of Debenu Quick PDF Library can only be accessed by the thread that […]

Extract images from PDF files as the appropriate image type

Sometimes it’s necessary to extract images from PDF files and save them to disk. When this happens you’ll most likely want to save the image data back into the image format that it was originally in before it was added to the PDF. This can be tricky at times because some image formats such as […]

Is a 64-bit HDC supported by RenderPageToDCClip?

(The answer is no, not in the current Delphi source code version, but read below because the more accurate answer is “no, but that’s okay because Microsoft guarantees that only the bottom 32-bit range of handles is used in Windows”.) The current build system for the Delphi-based version of Debenu Quick PDF Library cannot handle […]

How to quickly draw many paths in your PDF files

Sometimes when drawing many paths on a PDF, for example when exporting thousands of lines from a CAD plot to a PDF, the process of drawing the paths can be slow. The slowness is related to the process of adding the required commands to the content stream and reallocating memory each time a new path […]

Error: BadImageFormatException was unhandled

Despite the unhelpful name, the BadImageFormatException error almost always results from confusion with 32-bit/64-bit DLLs and project settings. For example, you’ve tried to load a 32-bit DLL into a 64-bit application or you’ve tried to load a 64-bit DLL into a 32-bit application. This error message can be easily replicated in a 32-bit C# application […]

Memory optimization tips when processing large PDF files

When dealing with PDF files that are very large in file size (north of 1 GB) or PDF files that have many pages (north of 1,000 to 10,000 depending on documents contents) it is desirable or sometimes necessary to write code that ensures memory usage does not climb too high. We will continue to enhance […]

Registration-free COM for ActiveX DLL and ActiveX Control

Registration-free COM allows you to use an ActiveX DLL or ActiveX Control in your application without having to register the ActiveX on the end-users machine using regsvr32. It does this by creating a manifest file which if distributed with the executable means that no registration is required. This is only supported in versions of Windows XP and […]