High performance library for creating, modiyfing and parsing PDF files in C++
A fast and free C++ library for creating, parsing and manipulating PDF files and streams.
š Documentation | š Project Site | š¢ NodeJS Wrapper
PDFHUMMUS_NO_OPENSSL=TRUE
to disable)# Build
mkdir build && cd build
cmake ..
cmake --build . --config Release
# Test
ctest --test-dir . -C Release
# Install
cmake --install . --prefix ./install --config Release
Option | Default | Description |
---|---|---|
PDFHUMMUS_NO_DCT |
FALSE | Exclude DCT decoding support/Detach LibJpeg dependency |
PDFHUMMUS_NO_TIFF |
FALSE | Exclude TIFF Images support/Detach LibTiff dependency |
PDFHUMMUS_NO_PNG |
FALSE | Exclude PNG Images support/Detatch LibgPng dependency |
PDFHUMMUS_NO_OPENSSL |
FALSE | Exclude PDF2.0 encryption/Detach OpenSSL dependency |
USE_BUNDLED |
TRUE | Use bundled dependencies |
USE_UNBUNDLED_FALLBACK_BUNDLED |
FALSE | Fallback to bundled if system libs not found |
BUILD_FUZZING_HARNESS |
FALSE | Enable fuzz testing |
Example: cmake .. -DUSE_BUNDLED=FALSE
include(FetchContent)
FetchContent_Declare(
PDFHummus
GIT_REPOSITORY https://github.com/galkahana/PDF-Writer.git
GIT_TAG v4.6.2
FIND_PACKAGE_ARGS
)
FetchContent_MakeAvailable(PDFHummus)
target_link_libraries(YourTarget PDFHummus::PDFWriter)
find_package(PDFHummus REQUIRED)
target_link_libraries(YourTarget PDFHummus::PDFWriter)
Simply copy the source folders to your project and include them directly.
# Run tests
ctest --test-dir build -C Release -j8
# Build and test
cmake --build build --target pdfWriterCheck --config Release
Test output files: ./build/Testing/Output
Install these extensions:
cd build && cpack .
iOS: See build guide
Manual builds: All PDFWriter sources are in the PDFWriter
folder. Link against Zlib, LibTiff, LibJpeg, LibPng, FreeType, and OpenSSL.