$ account libharu
libharu (Haru Free PDF Library) is a cross-platform, open-source C library for programmatically generating PDF files. It provides a comprehensive API covering document creation, page management, text and graphics drawing, image embedding (PNG, JPEG, raw), font handling (Type1, TrueType, CJK), annotations, outlines, encryption, PDF/A conformance, and 3D U3D support. The library is designed as a monolithic C library with a clean object system, custom memory manager, and stream abstraction for I/O. It is used via a C API and has bindings for Python, Ruby, C#, VB.NET, Delphi, FreeBASIC, and others. The codebase is mature but shows its age with some incomplete features (e.g., several PDF operators marked 'not implemented'), manual memory management, and a coding style from the early 2000s. However, it remains functional and is actively maintained with recent commits and CI via GitHub Actions. External dependencies are minimal: zlib (required for compression) and libpng (optional for PNG image loading). The library is suitable for embedding in applications that need to generate PDFs without external tools.