|
Revision 3987, 1.0 kB
(checked in by hans, 3 months ago)
|
Minor cosmetical fixes
Fix startup from Makefile
Repair certificate generation (not yet complete)
|
- Property svn:eol-style set to
native
- Property svn:keywords set to
author date id revision
|
| Line | |
|---|
| 1 |
;; -*- Lisp -*- |
|---|
| 2 |
|
|---|
| 3 |
;; make-fdf-file.lisp |
|---|
| 4 |
|
|---|
| 5 |
;; Funktion zum Erstellen von FDF-Dateien. Diese können mit Hilfe von |
|---|
| 6 |
;; pdftk verwendet werden, um PDF-Formulare auszufuellen. Das |
|---|
| 7 |
;; FDF-Format ist dabei ein Unterformat von Adobe PDF und wird in der |
|---|
| 8 |
;; PDF-Spezifikation beschrieben. |
|---|
| 9 |
|
|---|
| 10 |
(in-package :bknr.utils) |
|---|
| 11 |
|
|---|
| 12 |
(enable-interpol-syntax) |
|---|
| 13 |
|
|---|
| 14 |
(defun pdf-quote-string (string) |
|---|
| 15 |
(regex-replace-all #?r"([\(\)\\])" string #?r"\\\1")) |
|---|
| 16 |
|
|---|
| 17 |
(defun make-fdf-file (file-name &rest keys-and-values) |
|---|
| 18 |
(with-open-file (stream file-name :direction :output :if-does-not-exist :create :if-exists :supersede :external-format :latin-1) |
|---|
| 19 |
(format stream "%FDF-1.2 |
|---|
| 20 |
1 0 obj |
|---|
| 21 |
<</FDF |
|---|
| 22 |
<</Fields |
|---|
| 23 |
[ |
|---|
| 24 |
") |
|---|
| 25 |
(loop for (key value) on keys-and-values by #'cddr |
|---|
| 26 |
do (format stream " <</T(~(~a~))/V(~a)>>~%" key |
|---|
| 27 |
(pdf-quote-string (if (stringp value) |
|---|
| 28 |
value |
|---|
| 29 |
(format nil "~a" value))))) |
|---|
| 30 |
(format stream " ] |
|---|
| 31 |
>> |
|---|
| 32 |
>> |
|---|
| 33 |
endobj |
|---|
| 34 |
trailer |
|---|
| 35 |
<</Root 1 0 R>> |
|---|
| 36 |
%%EOF"))) |
|---|
| 37 |
|
|---|