All Projects → MatthiasValvekens → Pyhanko

MatthiasValvekens / Pyhanko

Licence: mit
pyHanko: sign and stamp PDF files

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pyhanko

Uxmpdfkit
An iOS PDF viewer and annotator written in Swift that can be embedded into any application.
Stars: ✭ 260 (+237.66%)
Mutual labels:  pdf, signature
Maker.js
📐⚙ 2D vector line drawing and shape modeling for CNC and laser cutters.
Stars: ✭ 1,185 (+1438.96%)
Mutual labels:  pdf
Pdfthumbnails
A small script to generate thumbnail images for pdf files, based on pdf.js
Stars: ✭ 66 (-14.29%)
Mutual labels:  pdf
Real Time Rendering 3rd Cn Summary Ebook
📘 电子书 -《Real-Time Rendering 3rd》提炼总结 | 全书共9万7千余字。你可以把它看做中文通俗版的《Real-Time Rendering 3rd》,也可以把它看做《Real-Time Rendering 3rd》的解读版与配套学习伴侣,或者《Real-Time Rendering 4th》的前置阅读材料。
Stars: ✭ 1,159 (+1405.19%)
Mutual labels:  pdf
Docnado
Rapid documentation tool that will blow you away...
Stars: ✭ 67 (-12.99%)
Mutual labels:  pdf
Unipdf
Golang PDF library for creating and processing PDF files (pure go)
Stars: ✭ 1,171 (+1420.78%)
Mutual labels:  pdf
Gopdf
pdf document generation library
Stars: ✭ 63 (-18.18%)
Mutual labels:  pdf
Azuredevops.wikipdfexport
Export Azure DevOps Wiki to PDF
Stars: ✭ 76 (-1.3%)
Mutual labels:  pdf
Papermerge
Open Source Document Management System for Digital Archives (Scanned Documents)
Stars: ✭ 1,177 (+1428.57%)
Mutual labels:  pdf
Automator
Various Automator and AppleScript workflow and scripts for simplifying life
Stars: ✭ 68 (-11.69%)
Mutual labels:  pdf
Thpdfkit
PDF viewer component on top of Apples PDFKit
Stars: ✭ 68 (-11.69%)
Mutual labels:  pdf
Php Svg Lib
SVG file parsing / rendering library
Stars: ✭ 1,146 (+1388.31%)
Mutual labels:  pdf
Jsx Pdf
Generate PDFs using JSX! 🎯
Stars: ✭ 71 (-7.79%)
Mutual labels:  pdf
Milewski Ctfp Pdf
Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source
Stars: ✭ 9,037 (+11636.36%)
Mutual labels:  pdf
Workdiary
병특 재택근무 수행내역서를 채워주는 util
Stars: ✭ 75 (-2.6%)
Mutual labels:  pdf
Notion Pdf Export
A tool to allow batch PDF export for free Notion users. You can export as HTML and then use this tool to convert those into PDFs.
Stars: ✭ 66 (-14.29%)
Mutual labels:  pdf
Scanbot Sdk Example Android
Document scanning SDK example apps for the Scanbot SDK for Android.
Stars: ✭ 67 (-12.99%)
Mutual labels:  pdf
Invoice It
📃 Generate your orders or your invoices and export them in html, pdf or buffer easily.
Stars: ✭ 69 (-10.39%)
Mutual labels:  pdf
Magicodes.ie
Import and export general library, support Dto import and export, template export, fancy export and dynamic export, support Excel, Csv, Word, Pdf and Html.
Stars: ✭ 1,198 (+1455.84%)
Mutual labels:  pdf
Jsprintmanager
Advanced Client-side Printing & Scanning Solution for Javascript
Stars: ✭ 74 (-3.9%)
Mutual labels:  pdf

pyHanko

status Codecov Language grade: Python pypi

The lack of open-source CLI tooling to handle digitally signing and stamping PDF files was bothering me, so I went ahead and rolled my own.

Note: The working title of this project (and former name of the repository on GitHub) was pdf-stamp, which might still linger in some references.

Note: This project is currently in alpha, and not yet production-ready.

Installing

PyHanko is hosted on PyPI, and can be installed using pip:

   pip install pyHanko

Overview

The code in this repository functions both as a library and as a command-line tool. It's nowhere near complete, but here is a short overview of the features. Note that not all of these are necessarily exposed through the CLI.

  • Stamping
    • Simple text-based stamps
    • QR stamps
    • Font can be monospaced, or embedded from an OTF font (experimental)
  • Document preparation
    • Add empty signature fields to existing PDFs
    • Add seed values to signature fields, with or without constraints
  • Signing
    • Signatures can be invisible, or with an appearance based on the stamping tools
    • LTV-enabled signatures are supported
      • PAdES baseline profiles B-B, B-T, B-LT and B-LTA are all supported.
      • Adobe-style revocation info embedding is also supported.
    • RFC 3161 timestamp server support
    • Support for multiple signatures (all modifications are executed using incremental updates to preserve cryptographic integrity)
    • Supports both RSA & ECDSA
    • If cryptography is installed, pyHanko can also produce and validate RSASSA-PSS signatures (with arbitrary parameters).
    • PKCS11 support
      • Available both from the library and through the CLI
      • Extra convenience wrapper for Belgian eID cards
  • Signature validation
    • Cryptographic integrity check
    • Authentication through X.509 chain of trust validation
    • LTV validation
    • Difference analysis on files with multiple signatures and/or incremental updates made after signing (experimental)
    • Signature seed value constraint validation
  • Encryption
    • All encryption methods in ISO 32000-2 are supported in the 0.3.0 release.
  • CLI & configuration
    • YAML-based configuration (optional for most features)
    • CLI based on click
      • Available as pyhanko (when installed) or python -m pyhanko when running from the source directory
      • Built-in help: run pyhanko --help to get started

Some TODOs and known limitations

See the known issues page in the documentation.

Documentation

Documentation is built using Sphinx, and hosted here on ReadTheDocs.

Acknowledgement

This repository includes code from PyPDF2 (with both minor and major modifications); the original license has been included here.

License

MIT License, see LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].