libHaru is a free, cross platform, open source library for generating PDF files.
At this moment libHaru does not support reading and editing existing PDF files and it's unlikely this support will ever appear.
It supports the following features:
- Generating PDF files with lines, text, images.
- Outline, text annotation, link annotation.
- Compressing document with deflate-decode.
- Embedding PNG, Jpeg images.
- Embedding Type1 font and TrueType font.
- Creating encrypted PDF files.
- Using various character sets (ISO8859-1~16, MSCP1250~8, KOI8-R).
- Supporting CJK fonts and encodings.
You can add the feature of PDF creation by using HARU without understanding complicated internal structure of PDF.
libHaru is written in ANSI C, so theoretically it supports most of the modern OSes.
Looking for a new maintainer!
The project seems to be in more or less good shape (as in `it still compiles and works`), but it hasn't been actively maintained
and/or developed for a few years and badly needs a new maintainer.
If you think you can do it and have some spare time to spend on it (not too much), don't hesitate to introduce yourself on the mailing list:
libharu@googlegroups.com (you might want to subscribe to it first).
Downloads
Latest stable release: v2.3.0
Latest development release: v2.3.0-RC3
News
libHaru 2.3.0RC2
- Changed package naming, no other changes was done.
libHaru 2.3.0RC1
- Added support for 3dMeasures of subtype PD3 and 3DC, projection annotations, ExData and javascript attached to a U3D model. (Robert Würfel)
- Added support for 1- and 2-byte UTF8 codes. (Clayman)
- Added full PDF/A1-b support. (Petr Pytelka)
- Added support for CCITT compression for B/W images. (Petr Pytelka)
- Add support for TwoPageLeft and TwoPageRight layouts. (Vincent Dupont)
- Const-ified arrays used in the sources. (Ilkka Lehtoranta)
- Fixed build with libpng 1.5.0
- Fixed bug in HPDF_GetContents() - isize variable was not initialized. (Vincent Dupont)
- Fixed possible endless loop in PNG handling code. (reported by Mathew Waters)
- Fixed several issues based on the warnings generated by clang-analyzer. (Daniel Höpfl)
- Fixed quite a number of warnings. (Davide Achilli)
- Added 'd' postfix to debug build, fixed wrong filename. (Wim Dumon)
- Fixed HPDF_Text_Rect() not to split words in some obscure cases.
libHaru 2.2.1 released
- Added missing typedefs into hpdf.h. (Andrea D'Amore)
- Added PrintScaling support.
libHaru 2.2.0 released
- Greatly improved U3D support (Nikhil Soman)
- Markup Annotations
- Free Text Annotations
- Line Annotations
- Circle and Squre Annotations
- Text Markup Annotations
- Rubber Stamp Annotations
- Popup Annotations
- Added VB.Net bindings. (Matt Underwood)
- Added CMake build system (experimental). (Werner Smekal)
- Added preliminary ICC support. (vbrasseur at gmail dot com)
- Added HPDF_Image_AddSMask(). (patch by Adam Blokus)
- Added HPDF_LoadPngImageFromMem() and HPDF_LoadJpegImageFromMem(). (patch by Adam Blokus)
- Added HPDF_GetContents().
- Added HPDF_Page_SetZoom().
- Added support for CMYK in HPDF_Image_LoadRawImageFromMem().
- Applied a bunch of fixes and improvements from bug report #13.
- HPDF_Page_TextRect() corrections and improvements. (Ralf Junker)
- Fixed build failure when zlib was not found. (Werner Smekal)
- Fixed build with newer libtool versions.
- Fixed external build. (thanks to Jeremiah Willcock)
- Fixed memleak in HPDF_EmbeddedFile_New(). (Ralf Junker)
- Fixed uninitialized fields in HPDF_Type1FontDef_New(). (Ralf Junker)
- Fixed issue with grayscale PNG images. (Ralf Junker)
- Fixed missing parentheses from empty string object. (Ralf Junker)
- Fixed bug #21 (Build fails on Win CE because of errno and errno.h usage).
- Fixed bug #18 (Missing compiler flag -fexceptions)
- Fixed bug #11 (sqrtf() is missing on Windows).
- Fixed bug #10 (missing HPDF_LoadPngImageFromMem from win32/msvc/libhpdf.def).
- Fixed bug #7 (HPDF_String_SetValue() is declared twice).
- Fixed bug #6 (possible NULL dereference in HPDF_LoadPngImageFromFile2()).
- Fixed bug #5 (possible NULL derefernce in HPDF_LoadRawImageFromFile()).
- Fixed bug #4 (possible NULL dereference in HPDF_AToI()).
- Fixed bug #2 (Ruby binding: hpdf_insert_page has stray printf).
libHaru 2.1.0 released
This release includes the following changes:
- Initial support for Alpha channel in RGB and palette-based PNG images.
- HPDF_GetTTFontDefFromFile() function.
- FreeBasic bindings. (Klaus Siebke)
- Python bindings. (Li Jun)
- U3D support. (Michail Vidiassov)
- New build system based on autotools.
- The following bugs have been fixed:
- Fixed bug #1682456 (NULL dereference in LoadType1FontFromStream()).
- Fixed bug #1628096 (NULL pointer may be dereferenced).
- Typo in HPdfExtGState() function in C# bindings.