Simple PDF signer (C++, Go)
Go to file
Přemysl Eric Janouch ba5fdf20df
README.adoc: fix and improve Go instructions
2024-02-04 06:04:16 +01: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
LICENSE Go: add PDF 1.5 cross-reference stream support 2024-02-04 04:27:10 +01:00
NEWS Bump version, update NEWS 2020-09-06 05:16:40 +02:00
README.adoc README.adoc: fix and improve Go instructions 2024-02-04 06:04:16 +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
meson.build meson.build: use set_quoted() 2021-11-06 11:42:57 +01: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
test.sh Don't fail tests when gropdf isn't installed 2023-06-28 23:27:30 +02:00

README.adoc

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/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.