Drawings SDK Developer Guide > Working with .dwg Files > Working with Entities > Working with PdfUnderlay Entities > PDF Underlays with Google PDFium
PDF Underlays with Google PDFium

ODA Drawings SDK supports PDF underlay functionality using Google PDFium library. PDFium is a cross-platform, open-source and free-of-charge library that can be customized (since the library source code is available).

ODA PDFiumModule

The PDFiumModule module uses the Google PDFium library to work with .pdf files and provides a wide list of PDF underlay features:

  • Rendering .pdf files as bitmaps for rendered .dwg files (PDF underlay entity rendering).
  • Handling snap points for PDF underlay entities.
  • Clipping PDF underlay entities.
  • Preview generation for PDF underlays.
  • Handling the visibility of PDF layers.

No additional fee is required to use ODA PDFiumModule.

ODA PDFiumModule is provided within the ODA Drawings archives.

PDFiumModule requires C++ 11 support and is available for the following platforms and compiler versions:

Operating System Compiler Version
Windows Visual Studio 2015 (vc14) x86/x64 (includes Windows XP support)
Visual Studio 2017 (vc15) x86/x64
Linux GCC 4.8 (x86/x64)
GCC 4.9 (x86/x64)
GCC 5.2 (x86/x64)
GCC 5.3 (x86/x64)
GCC 6.3 (x86/x64)
GCC 7.2 (x86/x64)
macOS X Clang using macOS 10.9 SDK (x86/x64)
Clang using macOS 10.10 SDK (x86/x64)
Clang using macOS 10.11 SDK (x86/x64)
Clang using macOS 10.12 SDK (x86/x64)
Clang using macOS 10.13 SDK (x86/x64)
Clang using macOS 10.14 SDK (x64)
iOS iOS 12.0 SDK
Android Android Google NDK r15c

PDFiumModule is available for static and dynamic configurations.

Prerequisites for Enabling PDF Underlay Functionality

The following components are required for PDF underlay entity support:

  • TD_Pdfium module that represents the Google PDFium library customized by ODA.

    Location:

    • For Microsoft Windows platforms:
      • exe\$$(conf_folder)\TD_Pdfium.dll (dynamic configurations)
      • lib\$$(conf_folder)\TD_Pdfium.lib (static configurations)
    • For non-Windows platforms:
      • bin/$$(conf_folder)/libTD_Pdfium.so for Linux dynamic configurations
      • bin/$$(conf_folder)/libTD_Pdfium.dylib for MacOS X dynamic configurations
      • lib/$$(conf_folder)/libTD_Pdfium.a for static configurations

    $$(conf_folder) is a platform-specific folder for compiled executable files. The folder name depends on the configuration and compiler used for creating executable files. For example, for the Microsoft Visual C++ 2017 compiler and dynamic configuration, this folder is named vc15dll.

    Source code location: ThirdParty/pdfium.

  • PDFiumModule.tx module that provides the PDF underlay functionality based on the Google PDFium library.

    Location:

    • For Windows platforms:
      • exe\$$(conf_folder)\PDFiumModule_x.y_zz.tx (dynamic configurations)
      • lib\$$(conf_folder)\PDFiumModule.lib (static configurations)
    • For Non-Windows platforms:
      • bin/$$(conf_folder)/PDFiumModule.tx (dynamic configurations)
      • lib/$$(conf_folder)/libPDFiumModule.a (static configurations)

    $$(conf_folder) is a platform-specific folder for compiled executable files. The folder name depends on the configuration and compiler used for creating executable files. For example, for the Microsoft Visual C++ 2017 compiler and dynamic configuration, this folder is named vc15dll.

    x is the major ODA platform version number.

    y and zz are the minor ODA platform version numbers.

    Source code location: Drawing/Extensions/PdfiumModule.

See Also

Additional information about Google PDFium library can be found at the PDFium Git repository.

Working with PdfUnderlay Entities

Copyright © 2002 – 2020. Open Design Alliance. All rights reserved.