Simple PDF signer (C++, Go), plus Lua-based PDF generator
Go to file
Přemysl Eric Janouch 147b880524
All checks were successful
Alpine 3.19 Success
Arch Linux AUR Success
Alpine 3.20 Success
Fix test.sh for Alpine's current lowriter
2024-04-09 22:50:39 +02:00
cmd extfs-pdf: add a file extension for FlateDecode 2024-02-04 06:03:58 +01:00
pdf Go: enable multiple updates in a sequence 2024-02-04 05:17:26 +01:00
.clang-format Add clang-format configuration, clean up 2021-11-06 12:27:39 +01:00
.gitignore Add .gitignore 2021-11-06 12:28:25 +01:00
go.mod Go: bump modules 2023-06-28 22:35:49 +02:00
go.sum Go: bump modules 2023-06-28 22:35:49 +02:00
LICENSE Go: add PDF 1.5 cross-reference stream support 2024-02-04 04:27:10 +01:00
meson.build meson.build: use set_quoted() 2021-11-06 11:42:57 +01:00
NEWS Bump version, update NEWS 2020-09-06 05:16:40 +02:00
pdf-simple-sign.adoc Fix the man page 2022-09-25 18:28:19 +02:00
pdf-simple-sign.cpp Minor revision 2021-12-08 20:39:02 +01:00
README.adoc README.adoc: actually make the extfs name match 2024-02-04 06:35:37 +01:00
test.sh Fix test.sh for Alpine's current lowriter 2024-04-09 22:50:39 +02:00

pdf-simple-sign

pdf-simple-sign is a simple PDF signer intended for documents produced by the Cairo library (≤ 1.17.4 or using PDF 1.4), GNU troff, ImageMagick, or similar.

I dont aim to extend the functionality any further. The project is fairly self-contained and it should be easy to grasp and change to suit to your needs.

Packages

Regular releases are sporadic. git master should be stable enough. You can get a package with the latest development version using Arch Linuxs AUR, or as a Nix derivation.

Documentation

See the man page for information about usage. The rest of this README will concern itself with externalities.

PkgGoDev

Building

Build dependencies: Meson, Asciidoctor, a C++11 compiler, pkg-config
Runtime dependencies: libcrypto (OpenSSL 1.1 API)

$ git clone https://git.janouch.name/p/pdf-simple-sign.git
$ cd pdf-simple-sign
$ meson builddir
$ cd builddir
$ ninja

In addition to the C++ version, also included is a native Go port, which has enhanced PDF 1.5 support:

$ go install janouch.name/pdf-simple-sign/cmd/pdf-simple-sign@master

and a crude external VFS for Midnight Commander, that may be used to extract all streams from a given PDF file:

$ GOBIN=$HOME/.local/share/mc/extfs.d \
  go install janouch.name/pdf-simple-sign/cmd/extfs-pdf@master

To enable the VFS, edit your ~/.config/mc/mc.ext.ini to contain:

[pdf]
Type=^PDF
Open=%cd %p/extfs-pdf://

Contributing and Support

Use https://git.janouch.name/p/pdf-simple-sign to report bugs, request features, or submit pull requests. git send-email is tolerated. If you want to discuss the project, feel free to join me at ircs://irc.janouch.name, channel #dev.

Bitcoin donations are accepted at: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9

License

This software is released under the terms of the 0BSD license, the text of which is included within the package along with the list of authors.