From 17c4648064adc1ec718ee5b31ab6f825455042fe Mon Sep 17 00:00:00 2001 From: Martin Thoma Date: Sun, 24 Apr 2022 17:15:49 +0200 Subject: [PATCH] DOC: PDF feature/version support (#816) --- .github/workflows/github-ci.yaml | 6 ++++++ docs/index.rst | 1 + docs/user/pdf-version-support.md | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 docs/user/pdf-version-support.md diff --git a/.github/workflows/github-ci.yaml b/.github/workflows/github-ci.yaml index 6fe34071a..a47241ed6 100644 --- a/.github/workflows/github-ci.yaml +++ b/.github/workflows/github-ci.yaml @@ -6,8 +6,14 @@ name: CI on: push: branches: [ main ] + paths-ignore: + - '**/*.md' + - '**/*.rst' pull_request: branches: [ main ] + paths-ignore: + - '**/*.md' + - '**/*.rst' jobs: tests: diff --git a/docs/index.rst b/docs/index.rst index 90db760e4..4884e960d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -31,6 +31,7 @@ You can contribute to `PyPDF2 on Github `_. user/forms user/streaming-data user/file-size + user/pdf-version-support .. toctree:: diff --git a/docs/user/pdf-version-support.md b/docs/user/pdf-version-support.md new file mode 100644 index 000000000..a588997ab --- /dev/null +++ b/docs/user/pdf-version-support.md @@ -0,0 +1,32 @@ +# 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 +* 2006 - 2012: 1.7, ISO 32000-1:2008 +* 2017: 2.0 + +The general format didn't change, but new features got added. It can be that +PyPDF2 can do the operations you want on PDF 2.0 files without fully supporting +all features of PDF 2.0. + +## PDF Feature Support by PyPDF2 + +| Feature | PDF-Version | PyPDF2 Support | +| --------------------------------------- | ----------- | -------------- | +| Transparent Graphics | 1.4 | ? | +| CMaps | 1.4 | ❌ [#201](https://github.com/py-pdf/PyPDF2/pull/201), [#464](https://github.com/py-pdf/PyPDF2/pull/464), [#805](https://github.com/py-pdf/PyPDF2/pull/805) | +| Object Streams | 1.5 | ? | +| Cross-reference Streams | 1.5 | ? | +| Optional Content Groups (OCGs) - Layers | 1.5 | ? | +| Content Stream Compression | 1.5 | ? | +| AES Encryption | 1.6 | ❌ [#749](https://github.com/py-pdf/PyPDF2/pull/749) | + +See [History of PDF](https://en.wikipedia.org/wiki/History_of_PDF) for more +features.