# PDF Version Support PDF comes in the following versions: * 1993: 1.0 * 1994: 1.1 * 1996: 1.2 * 1999: 1.3 * 2001: 1.4 * 2003: 1.5 * 2004: 1.6 * 2008: 1.7, ISO 32000-1:2008 * 2017: 2.0, ISO 32000-2:2017 The general format didn't change, but new features got added. It can be that pypdf can do the operations you want on PDF 2.0 files without fully supporting all features of PDF 2.0. ## PDF Feature Support by pypdf | Feature | PDF Version | pypdf Support | |--------------------------------|:-----------:|:-------------:| | CMaps | 1.4 | ✅ | | Transparent Graphics | 1.4 | ✅ | | Content Stream Compression | 1.5 | ✅ | | Cross-reference Streams | 1.5 | ❓ | | Object Streams | 1.5 | ✅ | | Optional Content Groups (OCGs) | 1.5 | ❓ | | AES Encryption | 1.6 | ✅ | See [History of PDF](https://en.wikipedia.org/wiki/History_of_PDF) for more features. Some PDF features are not supported by pypdf, but other libraries can be used for them: * [pyHanko](https://pyhanko.readthedocs.io/en/latest/index.html): Cryptographically sign a PDF ([#302](https://github.com/py-pdf/pypdf/issues/302)) * [camelot-py](https://pypi.org/project/camelot-py/): Table Extraction ([#231](https://github.com/py-pdf/pypdf/issues/231))