All formats

PDB libraries

PalmDOC is simple enough that most programs implement it directly: parse the 78-byte header and record list, then decompress each text record. These libraries do one or both parts:

Language Library Read Write Notes
C/C++ pilot-link (libpisock) yes yes PDB/PRC container; LGPL-2.0; no PalmDOC decompression
Go writingtoole/pdb yes yes PDB container plus PalmDOC LZ77; BSD-3-Clause
Rust palmdoc-compression yes yes PalmDOC LZ77 compression only; MIT

No maintained PalmDOC library exists for C#, Java, Python, Ruby or PHP. In Python, calibre has complete readers and writers for PalmDOC, eReader, zTXT and Plucker (src/calibre/ebooks/pdb, GPL-3.0) but it isn’t published as a package: use its ebook-convert command (ebook-convert book.pdb book.epub) or port the short decompression routine from the PalmDOC page.

By language#